Multi-sensor event detection and tagging system

ABSTRACT

A sensor event detection and tagging system that analyzes data from multiple sensors to detect an event and to automatically select or generate tags for the event. Sensors may include for example a motion capture sensor and one or more additional sensors that measure values such as temperature, humidity, wind or elevation. Tags and event detection may be performed by a microprocessor associated with or integrated with the sensors, or by a computer that receives data from the microprocessor. Tags may represent for example activity types, players, performance levels, or scoring results. The system may analyze social media postings to confirm or augment event tags. Users may filter and analyze saved events based on the assigned tags. The system may create highlight and fail reels filtered by metrics and by tags.

This application is a continuation of U.S. Utility patent applicationSer. No. 15/184,926, filed on 16 Jun. 2016, issued as U.S. Pat. No.9,607,652, continuation in part of U.S. Utility patent application Ser.No. 14/801,428 filed 16 Jul. 2015, which is a continuation in part ofU.S. Utility patent application Ser. No. 14/549,422 filed 20 Nov. 2014,which is a continuation in part of U.S. Utility patent application Ser.No. 14/257,959 filed 21 Apr. 2014, which is a continuation-in-part ofU.S. Utility patent application Ser. No. 13/914,525, filed 10 Jun. 2013,now U.S. Pat. No. 8,702,516, which is a continuation in part of U.S.Utility patent application Ser. No. 13/679,879 filed 16 Nov. 2012, whichis a continuation-in-part of U.S. Utility patent application Ser. No.13/298,158 filed 16 Nov. 2011, which is a continuation-in-part of U.S.Utility patent application Ser. No. 13/267,784 filed 6 Oct. 2011, whichis a continuation-in-part of U.S. Utility patent application Ser. No.13/219,525 filed 26 Aug. 2011, which is a continuation-in-part of U.S.Utility patent application Ser. No. 13/191,309 filed 26 Jul. 2011, whichis a continuation-in-part of U.S. Utility patent application Ser. No.13/048,850 filed 15 Mar. 2011, which is a continuation-in-part of U.S.Utility patent application Ser. No. 12/901,806 filed 11 Oct. 2010, whichis a continuation-in-part of U.S. Utility patent application Ser. No.12/868,882 filed 26 Aug. 2010, the specifications of which are herebyincorporated herein by reference.

This application is a continuation in part of U.S. Utility patentapplication Ser. No. 14/801,428 filed 16 Jul. 2015, issued at U.S. Pat.No. 9,406,336, which is also a continuation in part of U.S. Utilitypatent application Ser. No. 13/757,029, filed 1 Feb. 2013, thespecifications of which are hereby incorporated herein by reference.

BACKGROUND OF THE INVENTION

Field of the Invention

One or more embodiments pertain to the field of sensors includingenvironmental, physiological and motion capture sensors and associateddata analysis and displaying information based on events recognizedwithin the environmental, physiological and/or motion capture data orwithin motion analysis data associated with a user, or piece ofequipment and/or based on previous motion analysis data from the user orother user(s) and/or piece of equipment. More particularly, but not byway of limitation, one or more embodiments enable a multi-sensor eventdetection and tagging system that enables intelligent analysis,synchronization, and transfer of generally concise event videossynchronized with motion data from motion capture sensor(s) coupled witha user or piece of equipment. Event data including video and motioncapture data are saved to database. Events including motion events areanalyzed as they occur, and analysis of events stored in the databaseidentifies trends, correlations, models, and patterns in motion eventdata. Greatly saves storage and increases upload speed by uploadingevent videos and avoiding upload of non-pertinent portions of largevideos. Creates highlight reels filtered by metrics and can sort bymetric. Integrates with multiple sensors to save event data even ifother sensors do not detect the event. Events may be correlated andconfirmed through multiple sensors and/or text/video on social media orother websites, and/or otherwise synchronized with image(s) or video, asthe events happen or at a later time based on location and/or time ofthe event or both, for example on the mobile device or on a remoteserver, and as captured from internal/external camera(s) or nanny cam,for example to enable saving video of the event, such as the first stepsof a child, violent shaking events, sporting, military or other motionevents including concussions, or falling events associated with anelderly person and for example discarding non-event related video data,to greatly reduce storage requirements for event videos. The system mayautomatically generate tags for events based on analysis of sensor data;tags may also be generated based on analysis of social media sitepostings describing the event.

Description of the Related Art

Existing motion capture systems process and potentially store enormousamounts of data with respect to the actual events of interest. Forexample, known systems capture accelerometer data from sensors coupledto a user or piece of equipment and analyze or monitor movement. Thesesystems do not intelligently confirm events using multiple disparatetypes of sensors or social media or other non-sensor based information,including postings to determine whether an event has actually occurred,or what type of equipment or what type of activity has occurred.

In these scenarios, thousands or millions of motion capture samples areassociated with the user at rest or not moving in a manner that isrelated to a particular event that the existing systems are attemptingto analyze. For example, if monitoring a football player, a large amountof motion data is not related to a concussion event, for a baby, a largeamount of motion data is not related in general to a shaking event ornon-motion event such as sudden infant death syndrome (SIDS), for agolfer, a large amount of motion data captured by a sensor mounted onthe player's golf club is of low acceleration value, e.g., associatedwith the player standing or waiting for a play or otherwise not movingor accelerating in a manner of interest. Hence, capturing, transferringand storing non-event related data increases requirements for power,bandwidth and memory.

In addition, video capture of a user performing some type of motion mayinclude even larger amounts of data, much of which has nothing to dowith an actual event, such as a swing of a baseball bat or home run.There are no known systems that automatically trim video, e.g., saveevent related video or even discard non-event related video, for exampleby uploading for example only the pertinent event video as determined bya motion capture sensor, without uploading the entire raw videos, togenerate smaller video segments that correspond to the events that occurin the video and for example as detected through analysis of the motioncapture data.

Some systems that are related to monitoring impacts are focused onlinear acceleration related impacts. These systems are unable to monitorrotational accelerations or velocities and are therefore unable todetect certain types of events that may produce concussions. Inaddition, many of these types of systems do not produce event related,connectionless messages for low power and longevity considerations.Hence, these systems are limited in their use based on their lack ofrobust characteristics.

Known systems also do not contemplate data mining of events withinmotion data to form a representation of a particular movement, forexample a swing of an average player or average professional playerlevel, or any player level based on a function of events recognizedwithin previously stored motion data. Thus, it is difficult and timeconsuming and requires manual labor to find, trim and designateparticular motion related events for use in virtual reality for example.Hence, current systems do not easily enable a particular user to playagainst a previously stored motion event of the same user or other useralong with a historical player for example. Furthermore, known systemsdo not take into account cumulative impacts, and for example withrespect to data mined information related to concussions, to determineif a series of impacts may lead to impaired brain function over time.

Other types of motion capture systems include video systems that aredirected at analyzing and teaching body mechanics. These systems arebased on video recording of an athlete and analysis of the recordedvideo of an athlete. This technique has various limitations includinginaccurate and inconsistent subjective analysis based on video forexample. Another technique includes motion analysis, for example usingat least two cameras to capture three-dimensional points of movementassociated with an athlete. Known implementations utilize a stationarymulti-camera system that is not portable and thus cannot be utilizedoutside of the environment where the system is installed, for exampleduring an athletic event such as a golf tournament, football game or tomonitor a child or elderly person. In general video based systems do notalso utilize digital motion capture data from sensors on the objectundergoing motion since they are directed at obtaining and analyzingimages having visual markers instead of electronic sensors. These fixedinstallations are extremely expensive as well. Such prior techniques aresummarized in U.S. Pat. No. 7,264,554, filed 26 Jan. 2006, which claimsthe benefit of U.S. Provisional Patent Application Ser. No. 60/647,751filed 26 Jan. 2005, the specifications of which are both herebyincorporated herein by reference. Both disclosures are to the sameinventor of the subject matter of the instant application.

Regardless of the motion capture data obtained, the data is generallyanalyzed on a per user or per swing basis that does not contemplateprocessing on a mobile phone, so that a user would only buy a motioncapture sensor and an “app” for a pre-existing mobile phone. Inaddition, existing solutions do not contemplate mobile use, analysis andmessaging and/or comparison to or use of previously stored motioncapture data from the user or other users or data mining of large datasets of motion capture data, for example to obtain or create motioncapture data associated with a group of users, for example professionalgolfers, tennis players, baseball players or players of any other sportto provide events associated with a “professional level” average orexceptional virtual reality opponent. To summarize, motion capture datais generally used for immediate monitoring or sports performancefeedback and generally has had limited and/or primitive use in otherfields.

Known motion capture systems generally utilize several passive or activemarkers or several sensors. There are no known systems that utilize aslittle as one visual marker or sensor and an app that for exampleexecutes on a mobile device that a user already owns, to analyze anddisplay motion capture data associated with a user and/or piece ofequipment. The data is generally analyzed in a laboratory on a per useror per swing basis and is not used for any other purpose besides motionanalysis or representation of motion of that particular user and isgenerally not subjected to data mining.

There are no known systems that allow for motion capture elements suchas wireless sensors to seamlessly integrate or otherwise couple with auser or shoes, gloves, shirts, pants, belts, or other equipment, such asa baseball bat, tennis racquet, golf club, mouth piece for a boxer,football or soccer player, or protective mouthpiece utilized in anyother contact sport for local analysis or later analysis in such a smallformat that the user is not aware that the sensors are located in or onthese items. There are no known systems that provide seamless mounts,for example in the weight port of a golf club or at the end shaft nearthe handle so as to provide a wireless golf club, configured to capturemotion data. Data derived from existing sensors is not saved in adatabase for a large number of events and is not used relative toanything but the performance at which the motion capture data wasacquired.

In addition, for sports that utilize a piece of equipment and a ball,there are no known portable systems that allow the user to obtainimmediate visual feedback regarding ball flight distance, swing speed,swing efficiency of the piece of equipment or how centered an impact ofthe ball is, i.e., where on the piece of equipment the collision of theball has taken place. These systems do not allow for user's to playgames with the motion capture data acquired from other users, orhistorical players, or from their own previous performances. Knownsystems do not allow for data mining motion capture data from a largenumber of swings to suggest or allow the searching for better or optimalequipment to match a user's motion capture data and do not enableoriginal equipment manufacturers (OEMs) to make business decisions,e.g., improve their products, compare their products to othermanufacturers, up-sell products or contact users that may purchasedifferent or more profitable products.

In addition, there are no known systems that utilize motion capture datamining for equipment fitting and subsequent point-of-sale decisionmaking for instantaneous purchasing of equipment that fits an athlete.Furthermore, no known systems allow for custom order fulfillment such asassemble-to-order (ATO) for custom order fulfillment of sportingequipment, for example equipment that is built to customerspecifications based on motion capture data mining, and shipped to thecustomer to complete the point of sales process, for example during playor virtual reality play.

In addition, there are no known systems that use a mobile device andRFID tags for passive compliance and monitoring applications.

There are no known systems that enable data mining for a large number ofusers related to their motion or motion of associated equipment to findpatterns in the data that allows for business strategies to bedetermined based on heretofore undiscovered patterns related to motion.There are no known systems that enable obtain payment from OEMs, medicalprofessionals, gaming companies or other end users to allow data miningof motion data.

There are no known systems that create synchronized event videoscontaining both video capture and motion sensor data for events, storethese synchronized event videos in a database, and use database analysisto generate models, metrics, reports, alerts, and graphics from thedatabase. For at least the limitations described above there is a needfor a motion event analysis system.

Known systems such as Lokshin, United States Patent Publication No.20130346013, published 26 Dec. 2013 and 2013033054 published 12 Dec.2013 for example do not contemplate uploading only the pertinent videosthat occur during event, but rather upload large videos that are latersynchronized. Both Lokshin references does not contemplate a motioncapture sensor commanding a camera to alter camera parameters on-the-flybased on the event, to provide increased frame rate for slow motion forexample during the event video capture, and do not contemplate changingplayback parameters during a portion of a video corresponding to anevent. The references also do not contemplate generation of highlight orfail reels where multiple cameras may capture an event, for example froma different angle and do not contemplate automatic selection of the bestvideo for a given event. In addition, the references do not contemplatea multi-sensor environment where other sensors may not observe orotherwise detect an event, while the sensor data is still valuable forobtaining metrics, and hence the references do not teach saving eventdata on other sensors after one sensor has identified an event.

Associating one or more tags with events is often useful for eventanalysis, filtering, and categorizing. Tags may for example indicate theplayers involved in an event, the type of action, and the result of anaction (such as a score). Known systems rely on manual tagging of eventsby human operators who review event videos and event data. For example,there are existing systems for coaches to tag videos of sporting eventsor practices, for example to review a team's performance or for scoutingreports. There are also systems for sports broadcasting that manuallytag video events with players or actions. There are no known systemsthat analyze data from motion sensors, video, radar, or other sensors toautomatically select one or more tags for an event based on the data. Anautomatic event tagging system would provide a significant labor savingover the current manual tagging methods, and would provide valuableinformation for subsequent event retrieval and analysis.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the invention relate to a multi-sensor event detectionand tagging system that enables intelligent analysis of event data froma variety of sensors and/or non-sensor data, for example blog, chat, orsocial media postings to generate an event, and publish the event and/orgenerate event videos. Enables intelligent analysis, synchronization,and transfer of generally concise event videos synchronized with motiondata from motion capture sensor(s) coupled with a user or piece ofequipment. Event data including video and motion capture data are savedto database. Events are analyzed as they occur, and correlated from avariety of sensors for example. Analysis of events stored in thedatabase identifies trends, correlations, models, and patterns in eventdata. Greatly saves storage and increases upload speed by uploadingevent videos and avoiding upload of non-pertinent portions of largevideos. Provides intelligent selection of multiple videos from multiplecameras covering an event at a given time, for example selecting onewith least shake. Video and other media describing an event may beobtained from a server, such as a social media site. Enables nearreal-time alteration of camera parameters during an event determined bythe motion capture sensor, and alteration of playback parameters andspecial effects for synchronized event videos. Creates highlight reelsfiltered by metrics and can sort by metric. A type of highlight reel mayinclude positive events, while another type may include negative events,such as “fails”, which are generally crashes, wipeouts or otherunintended events, which may in some cases show for example that old ageand treachery beat youth and exuberance in many cases. Integrates withmultiple sensors to save event data even if other sensors do not detectthe event. Also enables analysis or comparison of movement associatedwith the same user, other user, historical user or group of users. Atleast one embodiment provides intelligent recognition of events withinmotion data including but not limited to motion capture data obtainedfrom portable wireless motion capture elements such as visual markersand sensors, radio frequency identification tags and mobile devicecomputer systems, or calculated based on analyzed movement associatedwith the same user, or compared against the user or another other user,historical user or group of users. Enables low memory utilization forevent data and video data by trimming motion data and videos tocorrespond to the detected events. This may be performed on the mobiledevice or on a remote server and based on location and/or time of theevent and based on the location and/or time of the video, and mayoptionally include the orientation of the camera to further limit thevideos that may include the motion events. Embodiments enable eventbased viewing and low power transmission of events and communicationwith an app executing on a mobile device and/or with external cameras todesignate windows that define the events. Enables recognition of motionevents, and designation of events within images or videos, such as ashot, move or swing of a player, a concussion of a player, boxer, rideror driver, or a heat stroke, hypothermia, seizure, asthma attack,epileptic attack or any other sporting or physical motion related eventincluding walking and falling. Events may be correlated with one or moreimages or video as captured from internal/external camera or cameras ornanny cam, for example to enable saving video of the event, such as thefirst steps of a child, violent shaking events, sporting eventsincluding concussions, or falling events associated with an elderlyperson. Concussion related events and other events may be monitored forlinear acceleration thresholds and/or patterns as well as rotationalacceleration and velocity thresholds and/or patterns and/or saved on anevent basis and/or transferred over lightweight connectionless protocolsor any combination thereof.

Embodiments of the invention enable a user to purchase an application or“app” and a motion capture element and immediately utilize the systemwith their existing mobile computer, e.g., mobile phone. Embodiments ofthe invention may display motion information to a monitoring user, oruser associated with the motion capture element or piece of equipment.Embodiments may also display information based on motion analysis dataassociated with a user or piece of equipment based on (via a functionsuch as but not limited to a comparison) previously stored motioncapture data or motion analysis data associated with the user or pieceof equipment or previously stored motion capture data or motion analysisdata associated with at least one other user. This enables sophisticatedmonitoring, compliance, interaction with actual motion capture data orpattern obtained from other user(s), for example to play a virtual gameusing real motion data obtained from the user with responses generatedbased thereon using real motion data capture from the user previously orfrom other users (or equipment). This capability provides for playingagainst historical players, for example a game of virtual tennis, orplaying against an “average” professional sports person, and is unknownin the art until now.

For example, one or more embodiments include at least one motion captureelement that may couple with a user or piece of equipment or mobiledevice coupled with the user, wherein the at least one motion captureelement includes a memory, such as a sensor data memory, and a sensorthat may capture any combination of values associated with anorientation, position, velocity, acceleration (linear and/orrotational), angular velocity and angular acceleration, of the at leastone motion capture element. In at least one embodiment, the at least onemotion capture element may include a first communication interface or atleast one other sensor, and a microcontroller coupled with the memory,the sensor and the first communication interface.

According to at least embodiment of the invention, the microcontrollermay be a microprocessor. By way of one or more embodiments, the firstcommunication interface may receive one or more other values associatedwith a temperature, humidity, wind, elevation, light sound, heart rate,or any combination thereof. In at least one embodiment, the at least oneother sensor may locally capture the one or more other values associatedwith the temperature, humidity, wind, elevation, light sound, heartrate, or any combination thereof. At least one embodiment of theinvention may include both the first communication interface and the atleast one other sensor to obtain motion data and/or environmental orphysiological data in any combination.

In one or more embodiments, the microprocessor may one or more ofcollect data that includes sensor values from the sensor, store the datain the memory, analyze the data and recognize an event within the datato determine event data. In at least one embodiment, the microprocessormay correlate the data or the event data with the one or more othervalues associated with the temperature, humidity, wind, elevation, lightsound, heart rate, or any combination thereof. As such, in at least oneembodiment, the microprocessor may correlate the data or the event datawith the one or more other values to determine one or more of a falsepositive event, a type of equipment that the at least one motion captureelement is coupled with, and a type of activity indicated by the data orthe event data.

In one or more embodiments, the microprocessor may transmit one or moreof the data and the event data associated with the event via the firstcommunication interface. Embodiments of the system may also include anapplication that executes on a mobile device, wherein the mobile deviceincludes a computer, a communication interface that communicates withthe communication interface of the motion capture element to obtain theevent data associated with the event. In at least one embodiment, thecomputer may couple with a communication interface, such as the firstcommunication interface, wherein the computer executes the applicationor “app” to configure the computer to receive one or more of the dataand the event data from the communication interface, analyze the dataand event data to form motion analysis data, store the data and eventdata, or the motion analysis data, or both the event data and the motionanalysis data, and display information including the event data, or themotion analysis data, or both associated with the at least one user on adisplay.

In one or more embodiments, the microprocessor may detect the type ofequipment the at least one motion capture sensor is coupled with or thetype of activity the at least one motion sensor is sensing through thecorrelation to differentiate a similar motion for a first type ofactivity with respect to a second type of activity. In at least oneembodiment, the at least one motion capture sensor may differentiate thesimilar motion based on the one or more values associated withtemperature, humidity, wind, elevation, light, sound, heart rate, or anycombination thereof.

By way of one or more embodiments, the microprocessor may detect thetype of equipment or the type of activity through the correlation todifferentiate a similar motion for a first type of activity includingsurfing with respect to a second type of activity includingsnowboarding. In at least one embodiment, the microprocessor maydifferentiate the similar motion based on the temperature or thealtitude or both the temperature and the altitude. In at least oneembodiment, the microprocessor may recognize a location of the sensor onthe piece of equipment or the user based on the data or event data. Inone or more embodiments, the microprocessor may collect data thatincludes sensor values from the sensor based on a sensor personalityselected from a plurality of sensor personalities. In at least oneembodiment, the sensor personality may control sensor settings tocollect the data in an optimal manner with respect to a specific type ofmovement or the type of activity associated with a specific piece ofequipment or type of clothing.

By way of one or more embodiments, the microprocessor may determine thefalse positive event as detect a first value from the sensor valueshaving a first threshold value and detect a second value from the sensorvalues having a second threshold value within a time window. In at leastone embodiment, the microprocessor may then signify a prospective event,compare the prospective event to a characteristic signal associated witha typical event and eliminate any false positive events, signify a validevent if the prospective event is not a false positive event, and savethe valid event in the sensor data memory including information withinan event time window as the data.

In at least one embodiment, the at least one motion capture element maybe contained within a motion capture element mount, a mobile device, amobile phone, a smart phone, a smart watch, a camera, a laptop computer,a notebook computer, a tablet computer, a desktop computer, a servercomputer or any combination thereof.

In one or more embodiments, the microprocessor may recognize the atleast one motion capture element with newly assigned locations after theat least one motion capture element is removed from the piece ofequipment and coupled with a second piece of equipment of a differenttype based on the data or event data.

In at least one embodiment, the system may include a computer whereinthe computer may include a computer memory, a second communicationinterface that may communicate with the first communication interface toobtain the data or the event data associated with the event or both thedata the event data. In one or more embodiments, the computer may becoupled with the computer memory and the second communication interface,wherein the computer may receive the data from the second communicationinterface and analyze the data and recognize an event within the data todetermine event data. In at least one embodiment, the computer mayreceive the event data from the second communication interface, or mayreceive both the data and the event data from the second communicationinterface.

In one or more embodiments, the computer may analyze the event data toform motion analysis data, store the event data, or the motion analysisdata, or both the event data and the motion analysis data in thecomputer memory, obtain an event start time and an event stop time fromthe event data, and obtain at least one video start time and at leastone video stop time associated with at least one video. In at least oneembodiment, the computer may synchronize the event data, the motionanalysis data or any combination thereof with the at least one video. Inone or more embodiments, the computer may synchronize based on the firsttime associated with the data or the event data obtained from the atleast one motion capture element coupled with the user or the piece ofequipment or the mobile device coupled with the user, and at least onetime associated with the at least one video to create at least onesynchronized event video. In at least one embodiment, the computer maystore the at least one synchronized event video in the computer memorywithout at least a portion of the at least one video outside of theevent start time to the event stop time.

By way of one or more embodiments, the computer may include at least oneprocessor in a mobile device, a mobile phone, a smart phone, a smartwatch, a camera, a laptop computer, a notebook computer, a tabletcomputer, a desktop computer, a server computer or any combination ofany number of the mobile device, mobile phone, smart phone, smart watch,camera, laptop computer, notebook computer, tablet computer, desktopcomputer and server computer.

According to at least one embodiment, the computer may display asynchronized event video including both of the event data, motionanalysis data or any combination thereof that occurs during a timespanfrom the event start time to the event stop time, and the video capturedduring the timespan from the event start time to the event stop time.

In one or more embodiments, the computer may transmit the at least onesynchronized event video or a portion of the at least one synchronizedevent video to one or more of a repository, a viewer, a server, anothercomputer, a social media site, a mobile device, a network, and anemergency service.

In at least one embodiment, the computer may accept a metric associatedwith the at least one synchronized event video, and accept selectioncriteria for the metric. In one or more embodiments, the computer maydetermine a matching set of synchronized event videos that have valuesassociated with the metric that pass the selection criteria, and displaythe matching set of synchronized event videos or correspondingthumbnails thereof along with the value associated with the metric foreach of the matching set of synchronized event videos or thecorresponding thumbnails.

In at least one embodiment of the invention, the sensor or the computermay include a microphone that records audio signals. In one or moreembodiments, the recognize an event may include determining aprospective event based on the data, and correlating the data with theaudio signals to determine if the prospective event is a valid event ora false positive event. In at least one embodiment, the computer maystore the audio signals in the computer memory with the at least onesynchronized event video if the prospective event is a valid event.

One or more embodiments include at least one motion capture sensor thatmay be placed near the user's head wherein the microcontroller ormicroprocessor may calculate a location of impact on the user's head.Embodiments of the at least one motion capture sensor may be coupled ona hat or cap, within a protective mouthpiece, using any type of mount,enclosure or coupling mechanism. One or more embodiments of the at leastone motion capture sensor may be coupled with a helmet on the user'shead and wherein the calculation of the location of impact on the user'shead is based on the physical geometry of the user's head and/or helmet.Embodiments may include a temperature sensor coupled with the at leastone motion capture sensor or with the microcontroller, ormicroprocessor, for example.

Embodiments of the invention may also utilize an isolator to surroundthe at least one motion capture element to approximate physicalacceleration dampening of cerebrospinal fluid around the user's brain tominimize translation of linear acceleration and rotational accelerationof the event data to obtain an observed linear acceleration and anobserved rotational acceleration of the user's brain. Thus, embodimentsmay eliminate processing to translate forces or acceleration values orany other values from the helmet based acceleration to the observedbrain acceleration values. Therefore, embodiments utilize less power andstorage to provide event specific data, which in turn minimizes theamount of data transfer, which yields lower transmission powerutilization and even lower total power utilization. Different isolatorsmay be utilized on a football/hockey/lacrosse player's helmet based onthe type of padding inherent in the helmet. Other embodiments utilizedin sports where helmets are not worn, or occasionally worn may alsoutilize at least one motion capture sensor on a cap or hat, for exampleon a baseball player's hat, along with at least one sensor mounted on abatting helmet. Headband mounts may also be utilized in sports where acap is not utilized, such as soccer to also determine concussions. Inone or more embodiments, the isolator utilized on a helmet may remain inthe enclosure attached to the helmet and the sensor may be removed andplaced on another piece of equipment that does not make use of anisolator that matches the dampening of a user's brain fluids.Embodiments may automatically detect a type of motion and determine thetype of equipment that the motion capture sensor is currently attachedto based on characteristic motion patterns associated with certain typesof equipment, i.e., surfboard versus baseball bat, snow board and skateboard, etc.

Embodiments of the invention may obtain/calculate a linear accelerationvalue or a rotational acceleration value or both. This enablesrotational events to be monitored for concussions as well as linearaccelerations. In one or more embodiments, other events may make use ofthe linear and/or rotational acceleration and/or velocity, for exampleas compared against patterns or templates to not only switch sensorpersonalities during an event to alter the capture characteristicsdynamically, but also to characterize the type of equipment currentlybeing utilized with the current motion capture sensor. As such, in atleast one embodiment, a single motion capture element may be purchasedby a user to instrument multiple pieces of equipment or clothing byenabling the sensor to automatically determine what type of equipment orpiece of clothing the sensor is coupled to based on the motion capturedby the sensor when compared against characteristic patterns or templatesof motion.

Embodiments of the invention may transmit the event data associated withthe event using a connectionless broadcast message. In one or moreembodiments, depending on the communication protocol employed, broadcastmessages may include payloads with a limited amount of data that may beutilized to avoid handshaking and overhead of a connection basedprotocol. In other embodiments connectionless or connection basedprotocols may be utilized in any combination.

In one or more embodiments, the computer may access previously storedevent data or motion analysis data associated with at least one otheruser, or the user, or at least one other piece of equipment, or thepiece of equipment, for example to determine the number of concussionsor falls or other swings, or any other motion event. Embodiments mayalso display information including a presentation of the event dataassociated with the at least one user on a display based on the eventdata or motion analysis data associated with the user or piece ofequipment and the previously stored event data or motion analysis dataassociated with the user or piece of equipment or with the at least oneother user or the at least one other piece of equipment. This enablescomparison of motion events, in number or quantitative value, e.g., themaximum rotational acceleration observed by the user or other users in aparticular game or historically. In addition, in at least oneembodiment, patterns or templates that define characteristic motion ofparticular pieces of equipment for typical events may be dynamicallyupdated, for example on a central server or locally, and dynamicallyupdated in motion capture sensors via the communication interface in oneor more embodiments. This enables sensors to improve over time.

Embodiments of the invention may transmit the information to a displayon a visual display coupled with the computer or a remote computer, forexample over broadcast television or the Internet for example.Embodiments of the display may also accept sub-event time locations toprovide discrete scrolling along the timeline of the whole event. Forexample a golf swing may include sub-events such as an address, swingback, swing forward, strike, follow through. The system may display timelocations for the sub-events and accept user input near the location toassert that the video should start or stop at that point in time, orscroll to or back to that point in time for ease of viewing sub-eventsfor example.

Embodiments of the invention may also include an identifier coupled withthe at least one motion capture sensor or the user or the piece ofequipment. In one or more embodiments, the identifier may include a teamand jersey number or student identifier number or license number or anyother identifier that enables relatively unique identification of aparticular event from a particular user or piece of equipment. Thisenables team sports or locations with multiple players or users to beidentified with respect to the app that may receive data associated witha particular player or user. One or more embodiments receive theidentifier, for example a passive RFID identifier or MAC address orother serial number associated with the player or user and associate theidentifier with the event data and motion analysis data.

One or more embodiments of the at least one motion capture element mayfurther include a light emitting element that may output light if theevent occurs. This may be utilized to display a potential, mild orsevere level of concussion on the outer portion of the helmet withoutany required communication to any external device for example. Differentcolors or flashing intervals may also be utilized to relay informationrelated to the event. Alternatively, or in combination, the at least onemotion capture element may further include an audio output element thatmay output sound if the event occurs or if the at least one motioncapture sensor is out of range of the computer or wherein the computermay display and alert if the at least one motion capture sensor is outof range of the computer, or any combination thereof. Embodiments of thesensor may also utilize an LCD that outputs a coded analysis of thecurrent event, for example in a Quick Response (QR) code or bar code forexample so that a referee may obtain a snapshot of the analysis code ona mobile device locally, and so that the event is not viewed in areadable form on the sensor or transmitted and intercepted by anyoneelse.

In one or more embodiments, the at least one motion capture elementfurther includes a location determination element coupled with themicrocontroller. This may include a GPS (Global Positioning System)device for example. Alternatively, or in combination, the computer maytriangulate the location in concert with another computer, or obtain thelocation from any other triangulation type of receiver, or calculate thelocation based on images captured via a camera coupled with the computerand known to be oriented in a particular direction, wherein the computercalculates an offset from the mobile device based on the direction andsize of objects within the image for example.

In one or more embodiments, the computer may to request at least oneimage or video that contains the event from at least one camera proximalto the event. This may include a broadcast message requesting video froma particular proximal camera or a camera that is pointing in thedirection of the event. In one or more embodiments, the computer maybroadcast a request for camera locations proximal to the event ororiented to view the event, and optionally display the availablecameras, or videos therefrom for the time duration around the event ofinterest. In one or more embodiments, the computer may display a list ofone or more times at which the event has occurred, which enables theuser obtain the desired event video via the computer, and/or toindependently request the video from a third party with the desiredevent times. For example, one or more embodiments may obtain a video orother media, such as images, text, or audio, from a social media server.

In one or more embodiments, the at least one motion capture sensor iscoupled with the mobile device and for example uses an internal motionsensor within or coupled with the mobile device. This enables motioncapture and event recognition with minimal and ubiquitous hardware,e.g., using a mobile device with a built-in accelerometer. In one ormore embodiments, a first mobile device may be coupled with a userrecording motion data, while a second mobile device is utilized torecord a video of the motion. In one or more embodiments, the userundergoing motion may gesture, e.g., tap N times on the mobile device toindicate that the second user's mobile device should start recordingvideo or stop recording video. Any other gesture may be utilized tocommunicate event related or motion related indications between mobiledevices.

Embodiments of the at least one motion capture sensor may include atemperature sensor, or the microcontroller may otherwise be coupled witha temperature sensor. In these embodiments, the microcontroller, ormicroprocessor, may transmit a temperature obtained from the temperaturesensor as a temperature event, for example as a potential indication ofheat stroke or hypothermia. Any other type of physiological sensor maybe utilized, as well as any type of environmental sensor.

Thus embodiments of the invention may recognize any type of motionevent, including events related to motion associated with the at leastone motion capture sensor coupled with any combination of the user, orthe piece of equipment or the mobile device or motion that is indicativeof standing, walking, falling, a heat stroke, seizure, violent shaking,a concussion, a collision, abnormal gait, abnormal or non-existentbreathing or any combination thereof or any other type of event having aduration of time during with motion occurs. For example, one or moreembodiments may include an accelerometer in a motion capture element,and may recognize an event when the acceleration reading from theaccelerometer exceeds a predefined threshold. Such events may correspondto the motion capture element experiencing significant forces, which insome embodiments may indicate events of interest. One or moreembodiments may in addition or instead use for example the change inacceleration as an indicator of an event, since a rapid change inacceleration may indicate a shock or impact event. Embodiments may useany sensors and any functions of sensor data to detect events.

Embodiments of the invention may utilize data mining on the motioncapture data to obtain patterns for users, equipment, or use the motioncapture data or events of a given user or other user in particularembodiments of the invention. Data mining relates to discovering newpatterns in large databases wherein the patterns are previously unknown.Many methods may be applied to the data to discover new patternsincluding statistical analysis, neural networks and artificialintelligence for example. Due to the large amount of data, automateddata mining may be performed by one or more computers to find unknownpatterns in the data. Unknown patterns may include groups of relateddata, anomalies in the data, dependencies between elements of the data,classifications and functions that model the data with minimal error orany other type of unknown pattern. Displays of data mining results mayinclude displays that summarize newly discovered patterns in a way thatis easier for a user to understand than large amounts of pure raw data.One of the results of the data mining process is improved marketresearch reports, product improvement, lead generation and targetedsales. Generally, any type of data that will be subjected to data miningmust be cleansed, data mined and the results of which are generallyvalidated. Businesses may increase profits using data mining. Examplesof benefits of embodiments of the invention include customerrelationship management to highly target individuals based on patternsdiscovered in the data. In addition, market basket analysis data miningenables identifying products that are purchased or owned by the sameindividuals and which can be utilized to offer products to users thatown one product but who do not own another product that is typicallyowned by other users.

Other areas of data mining include analyzing large sets of motion datafrom different users to suggest exercises to improve performance basedon performance data from other users. For example if one user has lessrotation of the hips during a swing versus the average user, thenexercises to improve flexibility or strength may be suggested by thesystem. In a golf course embodiment, golf course planners may determineover a large amount of users on a golf course which holes should beadjusted in length or difficulty to obtain more discrete values for theaverage number of shots per hole, or for determining the amount of timebetween golfers, for example at a certain time of day or for golfers ofa certain age. In addition, sports and medical applications of datamining include determining morphological changes in user performanceover time, for example versus diet or exercise changes to determine whatimproves performance the most, or for example what times of the day,temperatures, or other conditions produce swing events that result inthe furthest drive or lowest score. Use of motion capture data for aparticular user or with respect to other users enables healthcarecompliance, for example to ensure a person with diabetes moves a certainamount during the day, and morphological analysis to determine how auser's motion or range of motion has changed over time. Games may beplayed with motion capture data that enables virtual reality playagainst historical greats or other users. For example, a person may playagainst a previous performance of the same person or against the motioncapture data of a friend. This allows users to play a game in a historicstadium or venue in a virtual reality environment, but with motioncapture data acquired from the user or other users previously forexample. Military planners may utilize the motion capture data todetermine which soldiers are most fit and therefore eligible for specialoperations, or which ones should retire, or by coaches to determine whena player should rest based on the concussion events and severity thereofsustained by a player for example and potentially based on a mined timeperiod where other users have increased performance after a concussionrelated event.

Embodiments of the system perform motion capture and/or display with anapplication for example that executes on mobile device that may includea visual display and an optional camera and which is capable ofobtaining data from at least one motion capture element such as a visualmarker and/or a wireless sensor. The system can also integrate withstandalone cameras, or cameras on multiple mobile devices. The systemalso enables the user to analyze and display the motion capture data ina variety of ways that provide immediate easy to understand graphicalinformation associated with the motion capture data. Motion captureelements utilized in the system intelligently store data for examplerelated to events associated with striking a ball, making a ski turn,jumping, etc., and eliminate false events, and greatly improve memoryusage and minimize storage requirements. In addition, the data may bestored for example for more than one event associated with the sportingequipment, for example multiple bat swings or for an entire round ofgolf or more if necessary at least until the data is downloaded to amobile device or to the Internet. Data compression of captured data mayalso be utilized to store more motion capture data in a given amount ofmemory. Motion capture elements utilized in the system may intelligentlypower down portions of their circuitry to save power, for example powerdown transceivers until motion is detected of a certain type.Embodiments of the invention may also utilize flexible batteryconnectors to couple two or more batteries in parallel to increase thetime the system may be utilized before replacing the batteries. Motioncapture data is generally stored in memory such as a local database orin a network accessible database, any of which enables data miningdescribed above. Any other type of data mining may be performed usingembodiments of the invention, including searching for temporal changesof data related to one or more users and or simply searching for datarelated to a particular user or piece of equipment.

Other embodiments may display information such as music selections ormusic playlists to be played based on the motion related data. This forexample enables a performance to be compared to another user'sperformance and select the type of music the other user plays, or tocompare the performance relative to a threshold that determines whattype of music selection to suggest or display.

Embodiments of the invention directed sports for example enable RFID orpassive RFID tags to be placed on items that a user moves whereinembodiments of the system keep track of the motion. For example, byplacing passive RFID tags on a particular helmet or cap, or protectivemouthpiece for boxing, football, soccer or other contact sport,particular dumbbells at a gym, and by wearing motion capture elementssuch as gloves and with a pre-existing mobile device for example anIPHONE®, embodiments of the invention provide automatic safetycompliance or fitness and/or healthcare compliance. This is achieved bykeeping track of the motion, and via RFID or passive RFID, the weightthat the user is lifting. Embodiments of the invention may thus add thenumber of repetitions multiplied by the amount of weight indicated byeach RFID tag to calculate the number of calories burned by the user. Inanother example, an RFID tag coupled with a stationary bike, or whereinthe stationary bike can mimic the identifier and/or communicatewirelessly to provide performance data and wherein the mobile computerincludes an RFID reader, the number of rotations of the user's legs maybe counted. Any other use of RFID or passive RFID is in keeping with thespirit of the invention. This enables doctors to remotely determinewhether a user has complied with their medical recommendations, orexceeded linear or rotational acceleration indicative of a concussionfor example. Embodiments may thus be utilized by users to ensurecompliance and by doctors to lower their malpractice insurance ratessince they are ensuring that their patients are complying with theirrecommendations, albeit remotely. Embodiments of the invention do notrequire RFID tags for medical compliance, but may utilize them.Embodiments of the invention directed at golf also enable golf shots foreach club associated with a golfer to be counted through use of anidentifier such as RFID tags on each club (or optionally via anidentifier associated with motion capture electronics on a golf club orobtained remotely over the radio) and a mobile computer, for example anIPHONE® equipped with an RFID reader that concentrates the processingfor golf shot counting on the mobile computer instead of on each golfclub. Embodiments of the invention may also allow for the measurement oforientation (North/South, and/or two horizontal axes and the verticalaxis) and acceleration using an inertial measurement unit, oraccelerometers and/or magnetometers, and/or gyroscopes. This is notrequired for golf shot counting, although one or more embodiments maydetermine when the golf club has struck a golf ball through vibrationanalysis for example and then query a golfer whether to count a shot ornot. This functionality may be combined with speed or accelerationthreshold or range detection for example to determine whether the golfclub was travelling within an acceptable speed or range, or accelerationor range for the “hit” to count. Wavelets may also be utilized tocompare valid swing signatures to eliminate count shots or eliminatefalse strikes for example. This range may vary between different clubs,for example a driver speed range may be “greater than 30 mph” while aputter speed range may be “less than 20 mph”, any range may be utilizedwith any club as desired, or the speed range may be ignored for example.Alternatively or in combination, the mobile computer may only query thegolfer to count a shot if the golfer is not moving laterally, i.e., in agolf cart or walking, and/or wherein the golfer may have rotated ortaken a shot as determined by a orientation or gyroscope sensor coupledwith the mobile computer. The position of the stroke may be shown on amap on the mobile computer for example. In addition, GPS receivers withwireless radios may be placed within the tee markers and in the cups togive daily updates of distances and helps with reading putts and greensfor example. The golfer may also wear virtual glasses that allow thegolfer to see the golf course map, current location, distance to thehole, number of shots on the current hole, total number of shots and anyother desired metric. If the user moves a certain distance, asdetermined by GPS for example, from the shot without counting the shot,the system may prompt the user on whether to count the shot or not. Thesystem does not require a user to initiate a switch on a club to count ashot and does not require LED's or active or battery powered electronicson each club to count shots. The mobile computer may also acceptgestures from the user to count a shot or not count a shot so that thegolfer does not have to remove any gloves to operate the mobilecomputer. For embodiments that utilize position/orientation sensors, thesystem may only count shots when a club is oriented vertically forexample when an impact is detected. The apparatus may also includeidentifiers that enable a specific apparatus to be identified. Theidentifiers may be a serial number for example. The identifier forexample may originate from an RFID tag on each golf club, or optionallymay include a serial number or other identifier associated with motioncapture elements associated with a golf club. Utilizing this apparatusenables the identification of a specific golfer, specific club and alsoenables motion capture and/or display with a system that includes atelevision and/or mobile device having a visual display and an optionalcamera and capable of obtaining data from at least one motion captureelement such as a visual marker and/or a wireless sensor. The system canalso integrate with standalone cameras, or cameras on multiple mobiledevices. The system also enables the user to analyze and display themotion capture data in a variety of ways that provide immediate and easyto understand graphical information associated with the motion capturedata. The apparatus enables the system to also determine how “centered”an impact is with respect to a ball and a piece of equipment, such as agolf club for example. The system also allows for fitting of equipmentincluding shoes, clubs, etc., and immediate purchasing of the equipmenteven if the equipment requires a custom assemble-to-order request from avendor. Once the motion capture data, videos or images and shot countindications are obtained by the system, they may be stored locally, forexample in a local database or sent over a wired or wireless interfaceto a remote database for example. Once in a database, the variouselements including any data associated with the user, such as age, sex,height, weight, address, income or any other related information may beutilized in embodiments of the invention and/or subjected to datamining. One or more embodiments enable users or OEMs for example to payfor access to the data mining capabilities of the system.

For example, embodiments that utilize motion capture elements allow foranalyzing the data obtained from the apparatus and enable thepresentation of unique displays associated with the user, such as 3Doverlays onto images of the body of the user to visually depict thecaptured motion data. In addition, these embodiments may also utilizeactive wireless technology such as BLUETOOTH® Low Energy for a range ofup to 50 meters to communicate with a golfer's mobile computer.Embodiments of the invention also allow for display of queries forcounting a stroke for example as a result of receiving a golf club ID,for example via an RFID reader or alternatively via wirelesscommunication using BLUETOOTH® or IEEE 802.11 for example. Use ofBLUETOOTH® Low Energy chips allows for a club to be in sleep mode for upto 3 years with a standard coin cell battery, thus reducing requiredmaintenance. One or more embodiments of the invention may utilize morethan one radio, of more than one technology for example. This allows fora level of redundancy that increases robustness of the system. Forexample, if one radio no longer functions, e.g., the BLUETOOTH® radiofor example, then the IEEE 802.11 radio may be utilized to transfer dataand warn the golfer that one of the radios is not functioning, whilestill allowing the golfer to record motion data and count shotsassociated with the particular club. For embodiments of the inventionthat utilize a mobile device (or more than one mobile device) withoutcamera(s), sensor data may be utilized to generate displays of thecaptured motion data, while the mobile device may optionally obtainimages from other cameras or other mobile devices with cameras. Forexample, display types that may or may not utilize images of the usermay include ratings, calculated data and time line data. Ratingsassociated with the captured motion can also be displayed to the user inthe form of numerical or graphical data with or without a user image,for example an “efficiency” rating. Other ratings may include linearacceleration and/or rotational acceleration values for the determinationof concussions and other events for example. Calculated data, such as apredicted ball flight path data can be calculated and displayed on themobile device with or without utilizing images of the user's body. Datadepicted on a time line can also be displayed with or without images ofthe user to show the relative peaks of velocity for various parts of theequipment or user's body for example. Images from multiple camerasincluding multiple mobile devices, for example from a crowd of golffans, may be combined into a BULLET TIME® visual effect characterized byslow motion of the golf swing shown from around the golfer at variousangles at normal speed. All analyzed data may be displayed locally, oruploaded to the database along with the motion capture data,images/videos, shot count and location data where it may undergo datamining processes, wherein the system may charge a fee for access to theresults for example.

In one or more embodiments, a user may play a golf course or hit tennisballs, or alternatively simply swing to generate motion capture data forexample and when wearing virtual reality glasses, see an avatar ofanother user, whether virtual or real in an augmented realityenvironment. In other embodiments, the user moves a piece of equipmentassociated with any sport or simply move the user's own body coupledwith motion capture sensors and view a virtual reality environmentdisplayed in virtual reality glasses of the user's movement or movementof a piece of equipment so instrumented. Alternatively or incombination, a virtual reality room or other environment may be utilizedto project the virtual reality avatars and motion data. Hence,embodiments of the system may allow a user on a real golf course to playalong with another user at a different location that is not actuallyhitting balls along with a historical player whose motion data has beenanalyzed or a data mining constructed user based on one or more motioncapture data sequences, and utilized by an embodiment of the system toproject an avatar of the historical player. Each of the three playersmay play in turn, as if they were located in the same place.

Motion capture data and/or events can be displayed in many ways, forexample tweeted, to a social network during or after motion capture. Forexample, if a certain amount of exercise or motion is performed, orcalories performed, or a new sports power factor maximum has beenobtained, the system can automatically tweet the new information to asocial network site so that anyone connected to the Internet may benotified. Motion capture data, motion analyses, and videos may betransmitted in one or more embodiments to one or more social mediasites, repositories, databases, servers, other computers, viewers,displays, other mobile devices, emergency services, or public agencies.The data uploaded to the Internet, i.e., a remote database or remoteserver or memory remote to the system may be viewed, analyzed or datamined by any computer that may obtain access to the data. This allowsfor remote compliance tweeting and/or compliance and/or originalequipment manufacturers to determine for a given user what equipment forcompliance or sporting equipment for sports related embodiments isworking best and/or what equipment to suggest. Data mining also enablessuggestions for users to improve their compliance and/or the planning ofsports venues, including golf courses based on the data and/or metadataassociated with users, such as age, or any other demographics that maybe entered into the system. Remote storage of data also enables medicalapplications such as morphological analysis, range of motion over time,and diabetes prevention and exercise monitoring and complianceapplications as stated. Other applications also allow for games that usereal motion capture data from other users, or historical players whetheralive or dead after analyzing videos of the historical players forexample. Virtual reality and augmented virtual reality applications mayalso utilize the motion capture data or historical motion data. Militarypersonnel such as commanders and/or doctors may utilize the motionand/or images in determine what type of G-forces a person has undergonefrom an explosion near an Improvised Explosive Device and automaticallyroute the best type of medical aid automatically to the location of themotion capture sensor. One or more embodiments of the system may relaymotion capture data over a G-force or velocity threshold, to theircommanding officer or nearest medical personnel for example via awireless communication link. Alternatively, embodiments of the inventionmay broadcast lightweight connectionless concussion related messages toany mobile devices listening, e.g., a referee's mobile phone to aid inthe assistance of the injured player wherein the lightweight messageincludes an optional team/jersey number and an acceleration relatednumber such as a potential/probable concussion warning or indicator.

In one or more embodiments of the invention, fixed cameras such as at atennis tournament, football game, baseball game, car or motorcycle race,golf tournament or other sporting event can be utilized with acommunication interface located near the player/equipment having motioncapture elements so as to obtain, analyze and display motion capturedata. In this embodiment, real-time or near real-time motion data can bedisplayed on the video for augmented video replays. An increase in theentertainment level is thus created by visually displaying how fastequipment is moving during a shot, for example with rings drawn around aplayers hips and shoulders. Embodiments of the invention also allowimages or videos from other players having mobile devices to be utilizedon a mobile device related to another user so that users don't have toswitch mobile phones for example. In one embodiment, a video obtained bya first user for a piece of sporting equipment in motion that is notassociated with the second user having the video camera equipped mobilephone may automatically transfer the video to the first user for displaywith motion capture data associated with the first user. Video andimages may be uploaded into the database and data mined through imageanalysis to determine the types/colors of clothing or shoes for examplethat users are wearing.

Based on the display of data, the user can determine the equipment thatfits the best and immediately purchase the equipment, via the mobiledevice. For example, when deciding between two sets of skis, a user maytry out both pairs that are instrumented with motion capture elementswherein the motion capture data is analyzed to determine which pair ofskis enables more efficient movement. For golf embodiments, whendeciding between two golf clubs, a user can take swings with differentclubs and based on the analysis of the captured motion data andquantitatively determine which club performs better. Custom equipmentmay be ordered through an interface on the mobile device from a vendorthat can assemble-to-order customer built equipment and ship theequipment to the user for example. Shaft lengths for putters for examplethat are a standard length can be custom made for a particular userbased on captured motion data as a user putts with an adjustable lengthshaft for example. Based on data mining of the motion capture data andshot count data and distances for example allows for users havingsimilar swing characteristics to be compared against a current userwherein equipment that delivers longer shots for a given swing velocityfor a user of a particular size and age for example may be suggested orsearched for by the user to improve performance. OEMs may determine thatfor given swing speeds, which make and model of club delivers the bestoverall performance as well. One skilled in the art will recognize thatthis applies to all activities involving motion, not just golf.

Embodiments of the system may utilize a variety of sensor types. In oneor more embodiments of the invention, active sensors may integrate witha system that permits passive or active visual markers to be utilized tocapture motion of particular points on a user's body or equipment. Thismay be performed in a simply two-dimensional manner or in athree-dimensional manner if the mobile device includes two or morecameras, or if multiple cameras or mobile devices are utilized tocapture images such as video and share the images in order to createtriangulated three-dimensional motion data from a set of two-dimensionalimages obtained from each camera. Another embodiment of the inventionmay utilize inertial measurement units (IMU) or any other sensors thatcan produce any combination of weight, balance, posture, orientation,position, velocity, friction, acceleration, angular velocity and/orangular acceleration information to the mobile device. The sensors maythus obtain data that may include any combination of one or more valuesassociated with orientation (vertical or North/South or both), position(either via through Global Positioning System, i.e., “GPS” or throughtriangulation), linear velocity (in all three axes), angular velocity(e.g., from a gyroscope), linear acceleration (in all three axes) (e.g.,from an accelerometer), and angular acceleration. All motion capturedata obtained from the various sensor types may be saved in a databasefor analysis, monitoring, compliance, game playing or other use and/ordata mining, regardless of the sensor type.

In one or more embodiments of the invention, a sensor may be utilizedthat includes a passive marker or active marker on an outside surface ofthe sensor, so that the sensor may also be utilized for visual tracking(either two-dimensional or three-dimensional) and for orientation,position, velocity, acceleration, angular velocity, angular accelerationor any other physical quantity produced by the sensor. Visual markerembodiments of the motion capture element(s) may be passive or active,meaning that they may either have a visual portion that is visuallytrackable or may include a light emitting element such as a lightemitting diode (LED) that allows for image tracking in low lightconditions. This for example may be implemented with a graphical symbolor colored marker at the end of the shaft near the handle or at theopposing end of the golf club at the head of the club. Images or videosof the markers may be analyzed locally or saved in the database andanalyzed and then utilized in data mining. In addition, for concussionrelated embodiments, the visual marker may emit a light that isindicative of a concussion, for example flashing yellow for a moderateconcussion and fast flashing red for a sever concussion or any othervisual or optional audio event indicators or both. As previouslydiscussed, an LCD may output a local visual encoded message so that itis not intercepted or otherwise readable by anyone not having a mobiledevice local and equipped to read the code. This enables sensitivemedical messages to only be read by a referee or local medical personnelfor a concussion or paralysis related event for example.

Embodiments of the motion capture sensors may be generally mounted on ornear one or more end or opposing ends of sporting equipment, for examplesuch as a golf club and/or anywhere in between (for EI measurements) andmay integrate with other sensors coupled to equipment, such as weapons,medical equipment, wristbands, shoes, pants, shirts, gloves, clubs,bats, racquets, balls, helmets, caps, mouthpieces, etc., and/or may beattached to a user in any possible manner. For example, a rifle todetermine where the rifle was pointing when a recoil was detected by themotion capture sensor. This data may be transmitted to a central server,for example using a mobile computer such as a mobile phone or otherdevice and analyzed for war games practice for example. In addition, oneor more embodiments of the sensor can fit into a weight port of a golfclub, and/or in the handle end of the golf club. Other embodiments mayfit into the handle of, or end of, a tennis racquet or baseball bat forexample. Embodiments that are related to safety or health monitoring maybe coupled with a cap, helmet, and/or mouthpiece or in any other type ofenclosure. One or more embodiments of the invention may also operatewith balls that have integrated sensors as well. One or more embodimentsof the mobile device may include a small mountable computer such as anIPOD® SHUFFLE® or IPOD® NANO® that may or may not have integrateddisplays, and which are small enough to mount on a shaft of a piece ofsporting equipment and not affect a user's swing. Alternatively, thesystem may calculate the virtual flight path of a ball that has come incontact with equipment moved by a player. For example with a baseballbat or tennis racquet or golf club having a sensor integrated into aweight port of other portion of the end of the club striking the golfball and having a second sensor located in the tip of the handle of thegolf club, or in one or more gloves worn by the player, an angle ofimpact can be calculated for the club. By knowing the loft of the faceof the club, an angle of flight may be calculated for the golf ball. Inaddition, by sampling the sensor at the end of the club at a high enoughspeed to determine oscillations indicative of where on the face of theclub the golf ball was struck, a quality of impact may be determined.These types of measurements and the analysis thereof help an athleteimprove, and for fitting purposes, allow an athlete to immediatelypurchase equipment that fits correctly. Centering data may be uploadedto the database and data mined for patterns related to the bats,racquets or clubs with the best centering on average, or the lowesttorsion values for example on a manufacturer basis for productimprovement. Any other unknown patterns in the data that are discoveredmay also be presented or suggested to users or search on by users, orpaid for, for example by manufacturers or users.

One or more embodiments of the sensor may contain charging features suchas mechanical eccentric weight, as utilized in some watches known as“automatic” or “self-winding” watches, optionally including a smallgenerator, or inductive charging coils for indirect electromechanicalcharging of the sensor power supply. Other embodiments may utilize plugsfor direct charging of the sensor power supply or electromechanical ormicroelectromechanical (MEMS) based charging elements. Any other type ofpower micro-harvesting technologies may be utilized in one or moreembodiments of the invention. One or more embodiments of the sensor mayutilize power saving features including gestures that power the sensoron or off. Such gestures may include motion, physical switches, contactwith the sensor, wired or wireless commands to the sensor, for examplefrom a mobile device that is associated with the particular sensors.Other elements that may couple with the sensor includes a battery, lowpower microcontroller, antenna and radio, heat sync, recharger andovercharge sensor for example. In addition, embodiments of the inventionallow for power down of some or all of the components of the systemuntil an electronic signal from accelerometers or a mechanical switchdetermines that the club has moved for example.

One or more embodiments of the invention enable Elasticity Inertia or EImeasurement of sporting equipment and even body parts for example.Placement of embodiments of the sensor along the shaft of a golf club,tennis racquet, baseball bat, hockey stick, shoe, human arm or any otheritem that is not perfectly stiff enables measurement of the amount offlex at points where sensors are located or between sensors. The angulardifferences in the each sensor over time allow for not only calculationof a flex profile, but also a flex profile that is dependent on time orforce. For example, known EI machines use static weights between tosupport points to determine an EI profile. These machines thereforecannot detect whether the EI profile is dependent upon the force appliedor is dependent on the time at which the force is applied, for exampleEI profiles may be non-linear with respect to force or time. Examplematerials that are known to have different physical properties withrespect to time include Maxwell materials and non-Newtonian fluids.

A user may also view the captured motion data in a graphical form on thedisplay of the mobile device or for example on a set of glasses thatcontains a video display. The captured motion data obtained fromembodiments of the motion capture element may also be utilized toaugment a virtual reality display of user in a virtual environment.Virtual reality or augmented reality views of patterns that are found inthe database via data mining are also in keeping with the spirit of theinvention. User's may also see augmented information such as an aimassist or aim guide that shows for example where a shot should beattempted to be placed for example based on existing wind conditions, orto account for hazards, e.g., trees that are in the way of a desireddestination for a ball, i.e., the golf hole for example.

One or more embodiments of the invention include a motion eventrecognition and video synchronization system that includes at least onemotion capture element that may couple with a user or piece of equipmentor mobile device coupled with the user. The at least one motion captureelement may include a memory, a sensor that may capture any combinationof values associated with an orientation, position, velocity,acceleration, angular velocity, and angular acceleration of the at leastone motion capture element, a communication interface, a microcontrollercoupled with the memory, the sensor and the communication interface. Inat least one embodiment, the microprocessor or microcontroller maycollect data that includes sensor values from the sensor, store the datain the memory, analyze the data and recognize an event within the datato determine event data, transmit the event data associated with theevent via the communication interface. The system may also include amobile device that includes a computer, a communication interface thatcommunicates with the communication interface of the motion captureelement to obtain the event data associated with the event, wherein thecomputer is coupled with computer's communication interface, wherein thecomputer may receive the event data from the computer's communicationinterface. The computer may also analyze the event data to form motionanalysis data, store the event data, or the motion analysis data, orboth the event data and the motion analysis data, obtain an event starttime and an event stop time from the event, request image data fromcamera that includes a video captured at least during a timespan fromthe event start time to the event stop time and display an event videoon a display that includes both the event data, the motion analysis dataor any combination thereof that occurs during the timespan from theevent start time to the event stop time and the video captured duringthe timespan from the event start time to the event stop time.

Embodiments may synchronize clocks in the system using any type ofsynchronization methodology and in one or more embodiments the computeron the mobile device may determine a clock difference between the motioncapture element and the mobile device and synchronize the motionanalysis data with the video. For example, one or more embodiments ofthe invention provides procedures for multiple recording devices tosynchronize information about the time, location, or orientation of eachdevice, so that data recorded about events from different devices can becombined. Such recording devices may be embedded sensors, mobile phoneswith cameras or microphones, or more generally any devices that canrecord data relevant to an activity of interest. In one or moreembodiments, this synchronization is accomplished by exchanginginformation between devices so that the devices can agree on a commonmeasurement for time, location, or orientation. For example, a mobilephone and an embedded sensor may exchange messages with the currenttimestamps of their internal clocks; these messages allow a negotiationto occur wherein the two devices agree on a common time. Such messagesmay be exchanged periodically as needed to account for clock drift ormotion of the devices after a previous synchronization. In otherembodiments, multiple recording devices may use a common server or setof servers to obtain standardized measures of time, location, ororientation. For example, devices may use a GPS system to obtainabsolute location information for each device. GPS systems may also beused to obtain standardized time. NTP (Network Time Protocol) serversmay also be used as standardized time servers. Using servers allowsdevices to agree on common measurements without necessarily beingconfigured at all times to communicate with one another.

In one or more embodiments of the invention, some of the recordingdevices may detect the occurrence of various events of interest. Somesuch events may occur at specific moments in time; others may occur overa time interval, wherein the detection includes detection of the startof an event and of the end of an event. These devices may record anycombination of the time, location, or orientation of the recordingdevice along with the event data, using the synchronized measurementbases for time, location, and orientation described above.

Embodiments of the computer on the mobile device may discard at least aportion of the video outside of the event start time to the event stop.In one or more embodiments, the computer may command or instruct otherdevices, including the computer or other computers, or another camera,or the camera or cameras that captured the video, to discard at least aportion of the video outside of the event start time to the event stoptime. For example, in one or more embodiments of the invention, some ofthe recording devices capture data continuously to memory while awaitingthe detection of an event. To conserve memory, some devices may storedata to a more permanent local storage medium, or to a server, only whenthis data is proximate in time to a detected event. For example, in theabsence of an event detection, newly recorded data may ultimatelyoverwrite previously recorded data in memory. A circular buffer may beused in some embodiments as a typical implementation of such anoverwriting scheme. When an event detection occurs, the recording devicemay store some configured amount of data prior to the start of theevent, and some configured amount of data after the end of the event, inaddition to storing the data captured during the event itself. Any preor post time interval is considered part of the event start time andevent stop time so that context of the event is shown in the video forexample. Saving only the video for the event on the mobile device withcamera or camera itself saves tremendous space and drastically reducesupload times.

Embodiments of the system may include a server computer remote to themobile device and wherein the server computer discards at least aportion of the video outside of the event start time to the event stopand return the video captured during the timespan from the event starttime to the event stop time to the computer in the mobile device.

In one or more embodiments, for example of the at least one motioncapture element, the microprocessor may transmit the event to at leastone other at least one motion capture sensor or element, or thecomputer, or at least one other mobile device or any combinationthereof, and wherein the at least one other motion capture sensor orelement or the at least one other mobile device or any combinationthereof may save data or transmit data, or both, associated with theevent, even if the at least one other motion capture element has notdetected the event. For example, in embodiments with multiple recordingdevices operating simultaneously, one such device may detect an eventand send a message to other recording devices that such an eventdetection has occurred. This message can include the timestamp of thestart and/or stop of the event, using the synchronized time basis forthe clocks of the various devices. The receiving devices, e.g., othermotion capture sensors and/or cameras may use the event detectionmessage to store data associated with the event to nonvolatile storageor to a server. The devices may store some amount of data prior to thestart of the event and some amount of data after the end of the event,in addition to the data directly associated with the event. In this wayall devices can record data simultaneously, but use an event triggerfrom only one of the devices to initiate saving of distributed eventdata from multiple sources.

Embodiments of the computer may save the video from the event start timeto the event stop time with the motion analysis data that occurs fromthe event start time to the event stop time or a remote server may beutilized to save the video. In one or more embodiments of the invention,some of the recording devices may not be in direct communication witheach other throughout the time period in which events may occur. Inthese situations, devices may save complete records of all of the datathey have recorded to permanent storage or to a server. Saving of onlydata associated with events may not be possible in these situationsbecause some devices may not be able to receive event trigger messages.In these situations, saved data can be processed after the fact toextract only the relevant portions associated with one or more detectedevents. For example, multiple mobile devices may record video of aplayer or performer, and upload this video continuously to a server forstorage. Separately the player or performer may be equipped with anembedded sensor that is able to detect events such as particular motionsor actions. Embedded sensor data may be uploaded to the same servereither continuously or at a later time. Since all data, including thevideo streams as well as the embedded sensor data, is generallytimestamped, video associated with the events detected by the embeddedsensor can be extracted and combined on the server.

Embodiments of the server or computer may, while a communication link isopen between the at least one motion capture sensor and the mobiledevice, discard at least a portion of the video outside of the eventstart time to the event stop and save the video from the event starttime to the event stop time with the motion analysis data that occursfrom the event start time to the event stop time. Alternatively, if thecommunication link is not open, embodiments of the computer may savevideo and after the event is received after the communication link isopen, then discard at least a portion of the video outside of the eventstart time to the event stop and save the video from the event starttime to the event stop time with the motion analysis data that occursfrom the event start time to the event stop time. For example, in someembodiments of the invention, data may be uploaded to a server asdescribed above, and the location and orientation data associated witheach device's data stream may be used to extract data that is relevantto a detected event. For example, a large set of mobile devices may beused to record video at various locations throughout a golf tournament.This video data may be uploaded to a server either continuously or afterthe tournament. After the tournament, sensor data with event detectionsmay also be uploaded to the same server. Post-processing of thesevarious data streams can identify particular video streams that wererecorded in the physical proximity of events that occurred and at thesame time. Additional filters may select video streams where a camerawas pointing in the correct direction to observe an event. Theseselected streams may be combined with the sensor data to form anaggregate data stream with multiple video angles showing an event.

The system may obtain video from a camera coupled with the mobiledevice, or any camera that is separate from or otherwise remote from themobile device. In one or more embodiments, the video is obtained from aserver remote to the mobile device, for example obtained after a queryfor video at a location and time interval.

Embodiments of the server or computer may synchronize the video and theevent data, or the motion analysis data via image analysis to moreaccurately determine a start event frame or stop event frame in thevideo or both, that is most closely associated with the event start timeor the event stop time or both. In one or more embodiments of theinvention, synchronization of clocks between recording devices may beapproximate. It may be desirable to improve the accuracy ofsynchronizing data feeds from multiple recording devices based on theview of an event from each device. In one or more embodiments,processing of multiple data streams is used to observe signatures ofevents in the different streams to assist with fine-grainedsynchronization. For example, an embedded sensor may be synchronizedwith a mobile device including a video camera, but the timesynchronization may be accurate only to within 100 milliseconds. If thevideo camera is recording video at 30 frames per second, the video framecorresponding to an event detection on the embedded sensor can only bedetermined within 3 frames based on the synchronized timestamps alone.In one embodiment of the device, video frame image processing can beused to determine the precise frame corresponding most closely to thedetected event. For instance, a shock from a snowboard hitting theground that is detected by an inertial sensor may be correlated with theframe at which the geometric boundary of the snowboard makes contactwith the ground. Other embodiments may use other image processingtechniques or other methods of detecting event signatures to improvesynchronization of multiple data feeds.

Embodiments of the at least one motion capture element may include alocation determination element that may determine a location that iscoupled with the microcontroller and wherein the microcontroller maytransmit the location to the computer on the mobile device. In one ormore embodiments, the system further includes a server wherein themicrocontroller may transmit the location to the server, either directlyor via the mobile device, and wherein the computer or server may formthe event video from portions of the video based on the location and theevent start time and the event stop time. For example, in one or moreembodiments, the event video may be trimmed to a particular length ofthe event, and transcoded to any or video quality, and overlaid orotherwise integrated with motion analysis data or event data, e.g.,velocity or acceleration data in any manner. Video may be stored locallyin any resolution, depth, or image quality or compression type to storevideo or any other technique to maximize storage capacity or frame rateor with any compression type to minimize storage, whether acommunication link is open or not between the mobile device, at leastone motion capture sensor and/or server. In one or more embodiments, thevelocity or other motion analysis data may be overlaid or otherwisecombined, e.g., on a portion beneath the video, that includes the eventstart and stop time, that may include any number of seconds beforeand/or after the actual event to provide video of the swing before aball strike event for example. In one or more embodiments, the at leastone motion capture sensor and/or mobile device(s) may transmit eventsand video to a server wherein the server may determine that particularvideos and sensor data occurred in a particular location at a particulartime and construct event videos from several videos and several sensorevents. The sensor events may be from one sensor or multiple sensorscoupled with a user and/or piece of equipment for example. Thus thesystem may construct short videos that correspond to the events, whichgreatly decreases video storage requirements for example.

In one or more embodiments, the microcontroller or the computer maydetermine a location of the event or the microcontroller and thecomputer may determine the location of the event and correlate thelocation, for example by correlating or averaging the location toprovide a central point of the event, and/or erroneous location datafrom initializing GPS sensors may be minimized. In this manner, a groupof users with mobile devices may generate videos of a golfer teeing off,wherein the event location of the at least one motion capture device maybe utilized and wherein the server may obtain videos from the spectatorsand generate an event video of the swing and ball strike of theprofessional golfer, wherein the event video may utilize frames fromdifferent cameras to generate a BULLET TIME® video from around thegolfer as the golfer swings. The resulting video or videos may betrimmed to the duration of the event, e.g., from the event start time tothe event stop time and/or with any pre or post predetermined timevalues around the event to ensure that the entire event is capturedincluding any setup time and any follow through time for the swing orother event.

In at least one embodiment, the computer may request or broadcast arequest from camera locations proximal to the event or oriented to viewthe event, or both, and may request the video from the at least onecamera proximal to the event, wherein the video includes the event. Forexample, in one or more embodiments, the computer on the mobile devicemay request at least one image or video that contains the event from atleast one camera proximal to the event directly by broadcasting arequest for any videos taken in the area by any cameras, optionally thatmay include orientation information related to whether the camera wasnot only located proximally to the event, but also oriented or otherwisepointing at the event. In other embodiments, the video may be requestedby the computer on the mobile device from a remote server. In thisscenario, any location and/or time associated with an event may beutilized to return images and/or video near the event or taken at a timenear the event, or both. In one or more embodiments, the computer orserver may trim the video to correspond to the event duration and again,may utilize image processing techniques to further synchronize portionsof an event, such as a ball strike with the corresponding frame in thevideo that matches the acceleration data corresponding to the ballstrike on a piece of equipment for example.

Embodiments of the computer on the mobile device or on the server maydisplay a list of one or more times at which an event has occurred orwherein one or more events has occurred. In this manner, a user may findevents from a list to access the event videos in rapid fashion.

Embodiments of the invention may include at least one motion capturesensor that is physically coupled with the mobile device. Theseembodiments enable any type of mobile phone or camera system with anintegrated sensor, such as any type of helmet mounted camera or anymount that includes both a camera and a motion capture sensor togenerate event data and video data.

In some embodiments the system may also include one or more computerswith a communication interface that can communicate with thecommunication interfaces of one or more motion capture elements toreceive the event data associated with motion events. The computer mayreceive raw motion data, and it may analyze this data to determineevents. In other embodiments the determination of events may occur inthe motion capture element, and the computer may receive event data.Combinations of these two approaches are also possible in someembodiments.

In some embodiments the computer or computers may determine the starttime and end time of a motion event from the event data. They may thenrequest image data from a camera that has captured video or one or moreimages for some time interval at least within some portion of the timebetween this event start time and event end time. The term video in thisspecification will include individual images as well as continuousvideo, including the case of a camera that takes a single snapshot imageduring an event interval. This video data may then be associated withthe motion data form a synchronized event video. Events may be gesturedby a user by shaking or tapping a motion capture sensor a fixed numberof times for example. Any type of predefined event including usergesture events may be utilized to control at least one camera totransfer generally concise event videos without requiring the transferof huge raw video files.

In some embodiments the request of video from a camera may occurconcurrently with the capture or analysis of motion data. In suchembodiments the system will obtain or generate a notification that anevent has begun, and it will then request that video be streamed fromone or more cameras to the computer until the end of the event isdetected. In other embodiments the request of video may occur after acamera has uploaded its video records to another computer, such as aserver. In this case the computer will request video from the serverrather than directly from the camera.

Various techniques may be used to perform synchronization of motion dataand video data. Such techniques include clock synchronization methodswell-known in the art, such as the network time protocol, that ensurethat all devices—motion capture elements, computer, and cameras—use acommon time base. In another technique the computer may compare itsclock to an internal clock of the motion capture element and to aninternal clock of a camera, by exchanging packets containing the currenttime as registered by each device. Other techniques analyze motion dataand video data to align their different time bases for synchronization.For instance a particular video frame showing a contact with a ball maybe aligned with a particular data frame from motion data showing a shockin an accelerometer; these frames can then be used effectively as keyframes, to synchronize the motion data and the video data. The combinedvideo data and motion data forms a synchronized event video with anintegrated record of an event.

In one or more embodiments, a computer may receive or process motiondata or video data may be a mobile device, including but not limited toa mobile telephone, a smartphone, a smart watch (such as for example anApple Watch®), a tablet, a PDA, a laptop, a notebook, or any otherdevice that can be easily transported or relocated. In otherembodiments, such a computer may integrated into a camera, and inparticular it may be integrated into the camera from which video data isobtained. In other embodiments, such a computer may be a desktopcomputer or a server computer, including but not limited to virtualcomputers running as virtual machines in a data center or in acloud-based service. In some embodiments, the system may includemultiple computers of any of the above types, and these computers mayjointly perform the operations described in this specification. As willbe obvious to one skilled in the art, such a distributed network ofcomputers can divide tasks in many possible ways and can coordinatetheir actions to replicate the actions of a single centralized computerif desired. The term computer in this specification is intended to meanany or all of the above types of computers, and to include networks ofmultiple such computers acting together.

In one or more embodiments, the computer may obtain or create a sequenceof synchronized event videos. The computer may display a compositesummary of this sequence for a user to review the history of the events.For the videos associated with each event, in some embodiments thissummary may include one or more thumbnail images generated from thevideos. In other embodiments the summary may include smaller selectionsfrom the full event video. The composite summary may also includedisplay of motion analysis or event data associated with eachsynchronized event video. In some embodiments, the computer may obtain ametric and display the value of this metric for each event. The displayof these metric values may vary in different embodiments. In someembodiments the display of metric values may be a bar graph, line graph,or other graphical technique to show absolute or relative values. Inother embodiments color-coding or other visual effects may be used. Inother embodiments the numerical values of the metrics may be shown. Someembodiments may use combinations of these approaches.

In one or more embodiments, the computer may accept selection criteriafor a metric of interest associated with the motion analysis data orevent data of the sequence of events. For example, a user may providecriteria such as metrics exceeding a threshold, or inside a range, oroutside a range. Any criteria may be used that may be applied to themetric values of the events. In response to the selection criteria, thecomputer may display only the synchronized event videos or theirsummaries (such as thumbnails) that meet the selection criteria. As anexample, a user capturing golf swing event data may wish to see onlythose swings with the swing speed above 100 mph.

In some embodiments of the invention, the computer may sort and ranksynchronized event videos for display based on the value of a selectedmetric, in addition to the filtering based on selection criteria asdescribed above. Continuing the example above, the user capturing golfswing data may wish to see only those swings with swing speed above 100mph, sorted with the highest swing speed shown first.

In one or more embodiments, the computer may generate a highlight reel,or fail reel, or both, of the matching set of synchronized events thatcombines the video for events that satisfy selection criteria. Othercriteria may be utilized to create a fail reel that includes negativeevents, crashes, wipeouts or other unintended events for example. In atleast one embodiment, the highlight reel or fail reel may include theentire video for the selected events, or a portion of the video thatcorresponds to the important moments in the event as determined by themotion analysis. In some embodiments the highlight reel or fail reel mayinclude displays or overlays of data or graphics on or near the video oron selected frames showing the value of metrics from the motionanalysis. Such a highlight reel or fail reel may be generatedautomatically for a user once the user indicates which events to includeby specifying selection criteria. In some embodiments the computer mayallow the user to edit the highlight reel or fail reel to add or removeevents, to lengthen or shorten the video shown for each event, to add orremove graphic overlays for motion data, or to add special effects orsoundtracks.

In embodiments with multiple camera, motion data and multiple videostreams may be combined into a single synchronized event video. Videosfrom multiple cameras may provide different angles or views of an event,all synchronized to motion data and to a common time base. In someembodiments one or more videos may be available on one or more computers(such as servers or cloud services) and may be correlated later withevent data. In these embodiments a computer may search for stored videosthat were in the correct location and orientation to view an event. Thecomputer could then retrieve the appropriate videos and combine themwith event data to form a composite view of the event with video frommultiple positions and angles.

In some embodiments the computer may select a particular video from theset of possible videos associated with an event. The selected video maybe the best or most complete view of the event based on various possiblecriteria. In some embodiments the computer may use image analysis ofeach of the videos to determine the best selection. For example, someembodiments may use image analysis to determine which video is mostcomplete in that the equipment or people of interest are least occludedor are most clearly visible. In some embodiments this image analysis mayinclude analysis of the degree of shaking of a camera during the captureof the video, and selection of the video with the most stable images. Insome embodiments a user may make the selection of a preferred video, orthe user may assist the computer in making the selection by specifyingthe most important criteria.

In some embodiments, event data from a motion capture element may beused to send control messages to a camera that can record video for theevent. In at least one embodiment, the computer may send a controlmessage local to the computer or external to the computer to at leastone camera. In one or more embodiments, such as embodiments withmultiple cameras, control messages could be broadcast or could be sendto a set of cameras during the event. These control messages may modifythe video recording parameters of the at least one video based on thedata or the event data, including the motion analysis data. For example,in at least one embodiment, a camera may be on standby and not recordingwhile there is no event of interest in progress. In one or moreembodiments, a computer may await event data, and once an event startsit may send a command to a camera to begin recording. Once the event hasfinished, in at least one embodiment, the computer may then send acommand to the camera to stop recording. Such techniques may conservecamera power as well as video memory.

More generally in one or more embodiments, a computer may send controlmessages to a camera or cameras to modify any relevant video recordingparameters in response to the data, event data or motion analysis data.In at least one embodiment, the recording parameters may for exampleinclude one or more of the frame rate, resolution, color depth, color orgrayscale, compression method, and compression quality of the video, aswell as turning recording on or off. As an example of where this may beuseful, motion analysis data may indicate when a user or piece ofequipment is moving rapidly; the frame rate of a video recording couldbe increased during periods of rapid motion in response, and decreasedduring periods of relatively slow motion. By using a higher frame rateduring rapid motion, the user can slow the motion down during playbackto observe high motion events in great detail. These techniques canallow cameras to conserve video memory and to use available memoryefficiently for events of greatest interest.

In some embodiments, the computer may accept a sound track, for examplefrom a user, and integrate this sound track into the synchronized eventvideo. This integration would for example add an audio sound trackduring playback of an event video or a highlight reel or fail reel. Someembodiments may use event data or motion analysis data to integrate thesound track intelligently into the synchronized event video. Forexample, some embodiments may analyze a sound track to determine thebeats of the sound track based for instance on time points of high audioamplitude. The beats of the sound track may then be synchronized withthe event using event data or motion analysis data. For example suchtechniques may automatically speed up or slow down a sound track as themotion of a user or object increases or decreases. These techniquesprovide a rich media experience with audio and visual cues associatedwith an event.

In one or more embodiments, a computer may playback a synchronized eventvideo on one or more displays. These displays may be directly attachedto the computer, or may be remote on other devices. Using the event dataor the motion analysis data, the computer may modify the playback to addor change various effects. These modifications may occur multiple timesduring playback, or even continuously during playback as the event datachanges. For instance, during periods of low motion the playback mayoccur at normal speed, while during periods of high motion the playbackmay switch to slow motion to highlight the details of the motion.Modifications to playback speed may be made based on any observed orcalculated characteristics of the event or the motion. For instance,event data may identify particular sub-events of interest, such as thestriking of a ball, beginning or end of a jump, or any other interestingmoments. The computer may modify the playback speed to slow downplayback as the synchronized event video approaches these sub-events.This slowdown could increase continuously to highlight the sub-event infine detail. Playback could even be stopped at the sub-event and awaitinput from the user to continue. Playback slowdown could also be basedon the value of one or more metrics from the motion analysis data or theevent data. For example, motion analysis data may indicate the speed ofa moving baseball bat or golf club, and playback speed could be adjustedcontinuously to be slower as the speed of such an object increases.Playback speed could be made very slow near the peak value of suchmetrics.

In other embodiments, modifications could be made to other playbackcharacteristics not limited to playback speed. For example, the computercould modify any or all of playback speed, image brightness, imagecolors, image focus, image resolution, flashing special effects, or useof graphic overlays or borders. These modifications could be made basedon motion analysis data, event data, sub-events, or any othercharacteristic of the synchronized event video. As an example, asplayback approaches a sub-event of interest, a flashing special effectcould be added, and a border could be added around objects of interestin the video such as a ball that is about to be struck by a piece ofequipment.

In embodiments that include a sound track, modifications to playbackcharacteristics can include modifications to the playbackcharacteristics of the sound track. For example such modifications mayinclude modifications to the volume, tempo, tone, or audio specialeffects of the sound track. For instance the volume and tempo of a soundtrack may be increased as playback approaches a sub-event of interest,to highlight the sub-event and to provide a more dynamic experience forthe user watching and listening to the playback.

In one or more embodiments, a computer may use image analysis of a videoto generate a metric from an object within the video. This metric mayfor instance measure some aspect of the motion of the object. Suchmetrics derived from image analysis may be used in addition to or inconjunction with metrics obtained from motion analysis of data frommotion sensors. In some embodiments image analysis may use any ofseveral techniques known in the art to locate the pixels associated withan object of interest. For instance, certain objects may be known tohave specific colors, textures, or shapes, and these characteristics canbe used to locate the objects in video frames. As an example, a tennisball may be known to be approximately round, yellow, and of textureassociate with the ball's materials. Using these characteristics imageanalysis can locate a tennis ball in a video frame. Using multiple videoframes the approximate speed of the tennis ball could be calculated. Forinstance, assuming a stationary or almost stationary camera, thelocation of the tennis ball in three-dimensional space can be estimatedbased on the ball's location in the video frame and based on its size.The location in the frame gives the projection of the ball's locationonto the image plane, and the size provides the depth of the ballrelative to the camera. By using the ball's location in multiple frames,and by using the frame rate that gives the time difference betweenframes, the ball's velocity can be estimated.

In one or more embodiments, the microcontroller coupled to a motioncapture element may communicate with other motion capture sensors tocoordinate the capture of event data. The microcontroller may transmit astart of event notification to another motion capture sensor to triggerthat other sensor to also capture event data. The other sensor may saveits data locally for later upload, or it may transmit its event data viaan open communication link to a computer while the event occurs. Thesetechniques provide a type of master-slave architecture where one sensorcan act as a master and can coordinate a network of slave sensors.

In one or more embodiments, a computer may obtain sensor values fromother sensors, such as the at least one other sensor, in addition tomotion capture sensors, where these other sensors are proximal to anevent and provide other useful data associated with the event. Forexample, such other sensors may sense various combinations oftemperature, humidity, wind, elevation, light, oxygen levels, sound andphysiological metrics (like a heartbeat or heart rate). The computer mayretrieve these other values and save them along with the event data andthe motion analysis data to generate an extended record of the eventduring the timespan from the event start to the event stop.

In one or more embodiments, the system may include one or more sensorelements that measure motion or any desired sensor value. Sensor valuesmay include for example, without limitation, one or more of orientation,position, velocity, acceleration, angular velocity, angularacceleration, electromagnetic field, temperature, humidity, wind,pressure, elevation, light, sound, or heart rate.

In one or more embodiments any computer or computers of the system mayaccess or receive media information from one or more servers, and theymay use this media information in conjunction with sensor data to detectand analyze events. Media information may include for example, withoutlimitation, text, audio, image, and video information. The computer orcomputers may analyze the sensor data to recognize an event, and theymay analyze the media information to confirm the event. Alternatively,in one or more embodiments the computer or computers may analyze themedia information to recognize an event, and they may analyze the sensordata to confirm the event. One or more embodiments may analyze thecombination of sensor data from sensor elements and media informationfrom servers to detect, confirm, reject, characterize, measure, monitor,assign probabilities to, or analyze any type of event.

Media information may include for example, without limitation, one ormore of email messages, voice calls, voicemails, audio recordings, videocalls, video messages, video recordings, Tweets®, Instagrams®, textmessages, chat messages, postings on social media sites, postings onblogs, or postings on wikis. Servers providing media information mayinclude for example, without limitation, one or more of an email server,a social media site, a photo sharing site, a video sharing site, a blog,a wiki, a database, a newsgroup, an RSS server, a multimedia repository,a document repository, a text message server, and a Twitter® server.

One or more embodiments may combine the media information (such asvideo, text, images, or audio) obtained from servers with the sensordata or other information to generate integrated records of an event.For example, images or videos that capture an event, or commentaries onthe event, may be retrieved from social media sites, filtered,summarized, and combined with sensor data and analyses; the combinedinformation may then be reposted to social media sites as an integratedrecord of the event. The integrated event records may be curated tocontain only highlights or selected media, or they may be comprehensiverecords containing all retrieved media.

One or more embodiments may analyze media information by searching textfor key words or key phrases related to an event, by searching imagesfor objects in those images that are related to an event, or bysearching audio for sounds related to an event.

One or more embodiments of the system may obtain sensor data from asensor element, and may obtain additional sensor data from additionalsensors or additional computers. This additional sensor data may be usedto detect events or to confirm events. One or more embodiments mayemploy a multi-stage event detection procedure that uses sensor data todetect a prospective event, and then uses additional sensor data, ormedia information, or both, to determine if the prospective event is avalid event or is a false positive.

One or more embodiments may use information from additional sensors todetermine the type of an activity or the equipment used for an activity.For example, one or more embodiments may use temperature or altitudedata from additional sensors to determine if motion data is associatedwith a surfing activity on a surfboard (high temperature and lowaltitude) or with a snowboarding activity on a snowboard (lowtemperature and high altitude).

One or more embodiments of the system may receive sensor data fromsensors coupled to multiple users or multiple pieces of equipment. Theseembodiments may detect events that for example involve actions ofmultiple users that occur at related times, at related locations, orboth. For example, one or more embodiments may analyze sensor data todetect individual events associated with a particular user or aparticular piece of equipment, and may aggregate these individual eventsto search for collective events across users or equipment that arecorrelated in time or location. One or more embodiments may determinethat a collective event has occurred if the number of individual eventswithin a specified time and location range exceeds a threshold value.Alternatively, or in addition, one or more embodiments may generateaggregate metrics from sensor data associated with groups of individualusers or individual pieces of equipment. These embodiments may detectcollective events for example if one or more aggregate metrics exceedscertain threshold values. One or more embodiments may generate aggregatemetrics for subgroups of users in particular areas, or at particulartime ranges, to correlate sensor data from these users by time andlocation.

In one or more embodiments, motion analysis may involve analyzing thetrajectory over time of a motion variable, such as for example positionor velocity. Embodiments may analyze any motion variable that isincluded in sensor data or is derived from the sensor data or the videoor any combination thereof. In one or more embodiments, certaintrajectories of motion variables are more efficient or effective thanother trajectories, and the motion analysis by the system may includecomparing the efficiency of an observed trajectory to the efficiency ofan optimal trajectory. An optimal trajectory may be determined based forexample on a mechanical model of the moving objects, such as abiomechanical model for sports actions for example. An optimaltrajectory may also be determined by analyzing data in the database toselect a set of efficient examples, and by constructing an optimaltrajectory from these examples. One or more embodiments may calculate anefficiency index for an observed trajectory that quantifies thecomparison of this trajectory to an optimal trajectory.

In one or more embodiments an observed trajectory for an object ofinterest, such as for example a ball, may be compared to a desiredtrajectory for that object. In golf, for example, a desired trajectoryfor the golf ball is one that puts the ball in the hole. The actualtrajectory of the object may be calculated based on video analysis, forexample. In one or more embodiments, the system may further determinethe changes necessary to transform the observed trajectory into thedesired trajectory. Continuing the example of golf, the trajectory of agolf ball is determined largely by the impact conditions between thegolf club and the ball, which determine the initial velocity of the ballafter impact. These impact conditions may be measured by the systemusing for example the motion capture element. One or more embodimentsmay determine the changes necessary to the initial conditions or theimpact conditions to achieve the desired trajectory.

Continuing the golf example, the trajectory of a golf ball during aputt, for example, is also a function of conditions of the puttinggreen. Therefore calculating the desired trajectory for the golf ballmay depend on the putting green, for example on its topography andfriction. One or more embodiments may obtain a model of an area ofactivity and use this model to calculate desired trajectories forobjects, and to calculate changes in initial conditions needed totransform observed trajectories into actual trajectories. Such a modelmay for example include information on the topography of the area, onthe coefficients of friction at points of the area, on other forcesbetween the area and the objects of interest, and on any other physicalproperties of points of the area.

One or more embodiments of the system include one or more computerscoupled to the database. These computers may analyze the data in thedatabase to generate various metrics, reports, graphics, charts, plots,alerts, and models. An analysis computer may be for example, withoutlimitation, a mobile device, smart watch, a camera, a desktop computer,a server computer or any combination thereof. A computer used fordatabase analysis may coincide with the processor or processorsintegrated into motion capture elements, cameras, or mobile devices.

One or more embodiments may develop a model of an area of activity usinganalysis of the database. Such a model may for example include factorslike those discussed above, such as the topography of the area, on thecoefficients of friction at points of the area, on other forces betweenthe area and the objects of interest, and on any other physicalproperties of points of the area. Analysis of object motions that haveoccurred in the area and that are stored in the database may be used toderived such a model. Such a model may then be used to compute desiredtrajectories and changes to initial conditions needed to transformactual trajectories into desired trajectories, as described above.

One or more embodiments may use motion analysis or analysis of thedatabase to identify the time or location, or both, of one or moreaccidents. For example, accelerometers may be used in one or moreembodiments to detect crashes. Alerts on accidents may be sent forexample to one or more of an emergency service, a government agency, asafety agency, a quality control organization, and a group of personspotentially at risk for additional accidents similar to the one or moreaccidents.

One or more embodiments may use database analysis to identify thelocations at which activities of interest have occurred. For example,continuing the example above of accidents, one or more embodiments mayidentify locations with unusually high accident rates. One or moreembodiments may identify areas of a house or building with high levelsof activity, or with unexpected activity. One or more embodiments maygenerate reports on areas of activity, including for example graphicsthat may be overlaid onto maps, videos, or images showing these areas ofactivity.

One or more embodiments may use database analysis to determine whether apiece of equipment has been used in a legitimate manner. For example,legitimate use of baseball bat may be limited to hitting baseballs;non-legitimate use may include for example hitting the bat against atree, a telephone pole, or a sidewalk. One or more embodiments mayobtain signatures of legitimate use and signatures of non-legitimateuse, and analyze motion events in the database against these signaturesto determine whether the equipment has been used correctly.

One or more embodiments of the system may use motion capture elementsmounted on or near a joint of user in order to measure the rotation andrange of motion of the joint. For example, one or more embodiments mayuse two (or more) motion capture elements on either side of a joint,where each motion capture element measures orientation; the jointrotation may then be determined from the difference in orientation onthe two sides of the joint. Sensors that measure orientation may includefor example, without limitation, accelerometers, magnetometers, and rategyroscopes. Motion data for joint movements may be stored in thedatabase, and database analysis may be used by one or more embodimentsto compare joint rotation angles over time to previous values, and to atarget value for example. One or more embodiments may compare a measuredrange of motion to a threshold or target value, or a target range. Oneor more embodiments may send an alert message, for example to a medicalteam or to the user, if the range of motion exceeds a target value or athreshold value.

One or more embodiments of the system may use microphones to captureaudio signals, and use these audio signals in conjunction with othersensor and video data for event detection and motion analysis.Microphones may be incorporated in motion capture elements, in mobiledevices, in cameras, in computers; in one or more embodiments standalonemicrophones may be used for audio capture. One or more embodiments maycorrelate audio signatures with sensor data signatures to differentiatebetween true events and false positive events.

Embodiments of the invention may automatically generate or select onemore tags for events, based for example on analysis of sensor data.Event data with tags may be stored in an event database for subsequentretrieval and analysis. Tags may represent for example, withoutlimitation, activity types, players, timestamps, stages of an activity,performance levels, or scoring results.

One or more embodiments may also analyze media such as text, audio,images, or videos from social media sites or other servers to generate,modify, or confirm event tags. Media analyzed may include for example,without limitation, email messages, voice calls, voicemails, audiorecordings, video calls, video messages, video recordings, textmessages, chat messages, postings on social media sites, postings onblogs, or postings on wikis. Sources of media for analysis may includefor example, without limitation, an email server, a social media site, aphoto sharing site, a video sharing site, a blog, a wiki, a database, anewsgroup, an RSS server, a multimedia repository, a documentrepository, and a text message server. Analysis may include searching oftext for key words and phrases related to an event. Event tags and otherevent data may be published to social media sites or to other servers orinformation systems.

One or more embodiments may provide the capability for users to manuallyadd tags to events, and to filter or query events based on the automaticor manual tags. Embodiments of the system may generate a video highlightreel for a selected set of events matching a set of tags. One or moreembodiments may discard portions of video based on the event analysisand tagging; for example, analysis may indicate a time interval withsignificant event activity, and video outside this time interval may bediscarded, e.g., to save tremendous amounts of memory, and/or nottransferred to another computer to save significant time in uploadingthe relevant events without the non-event data for example.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, features and advantages of the ideasconveyed through this disclosure will be more apparent from thefollowing more particular description thereof, presented in conjunctionwith the following drawings wherein:

FIG. 1 illustrates an embodiment of the multi-sensor event detection andtagging system.

FIG. 1A illustrates a logical hardware block diagram of an embodiment ofthe computer.

FIG. 1B illustrates an architectural view of an embodiment of thedatabase utilized in embodiments of the system.

FIG. 1C illustrates a flow chart for an embodiment of the processingperformed by embodiments of the computers in the system as shown inFIGS. 1 and 1A.

FIG. 1D illustrates a data flow diagram for an embodiment of the system.

FIG. 1E illustrates a synchronization chart that details the shifting ofmotion event times and/or video event times to align correctly in time.

FIG. 1F illustrates a data flow diagram for an embodiment of the system,including broadcasting components.

FIG. 1G illustrates a flow chart for an embodiment of the system forintermittent data broadcast scenarios.

FIG. 1H illustrates a flow chart for an embodiment of the system thatprompts a user to make motions and measures distances and rotations tofind optimal equipment.

FIG. 2A illustrates a helmet based mount that surrounds the head of auser wherein the helmet based mount holds a motion capture sensor. FIG.2B illustrates a neck insert based mount that enables retrofittingexisting helmets with a motion capture sensor.

FIG. 3 illustrates a close-up of the mount of FIGS. 2A-B showing theisolator between the motion capture sensor and external portion of thehelmet.

FIG. 4A illustrates a top cross sectional view of the helmet, padding,cranium, and brain of a user. FIG. 4B illustrates a rotationalconcussion event for the various elements shown in FIG. 4.

FIG. 5 illustrates the input force to the helmet, G1, versus theobserved force within the brain and as observed by the sensor whenmounted within the isolator.

FIG. 6 illustrates the rotational acceleration values of the 3 axesalong with the total rotational vector amount along with video of theconcussion event as obtained from a camera and displayed with the motionevent data.

FIG. 7 illustrates a timeline display of a user along with peak andminimum angular speeds along the timeline shown as events along the timeline. In addition, a graph showing the lead and lag of the golf clubalong with the droop and drift of the golf club is shown in the bottomdisplay wherein these values determine how much the golf club shaft isbending in two axes as plotted against time.

FIG. 8 illustrates a sub-event scrub timeline that enables inputs nearthe start/stop points in time associated with sub-events to be scrolledto, played to or from, to easily enable viewing of sub-events.

FIG. 9 illustrates the relative locations along the timeline wheresub-events start and stop and the gravity associated with the start andstop times, which enable user inputs near those points to gravitate tothe start and stop times.

FIG. 10 illustrates an embodiment that utilizes a mobile device as themotion capture element and another mobile device as the computer thatreceives the motion event data and video of the first user event.

FIG. 11 illustrates an embodiment of the memory utilized to store datarelated to a potential event.

FIG. 12 shows a flow chart of an embodiment of the functionalityspecifically programmed into the microcontroller to determine whether aprospective event has occurred.

FIG. 13 illustrates a typical event signature or template, which iscompared to motion capture data to eliminate false positive events.

FIG. 14 illustrates an embodiment of the motion capture element withoptional LED visual indicator for local display and viewing of eventrelated information and an optional LCD to display a text or encodedmessage associated with the event.

FIG. 15 illustrates an embodiment of templates characteristic of motionevents associated with different types of equipment and/or instrumentedclothing along with areas in which the motion capture sensor personalitymay change to more accurately or more efficiently capture dataassociated with a particular period of time and/or sub-event.

FIG. 16 illustrates an embodiment of a protective mouthpiece in frontview and at the bottom portion of the figure in top view, for example asworn in any contact sport such as, but not limited to soccer, boxing,football, wrestling or any other sport for example.

FIG. 17 illustrates an embodiment of the algorithm utilized by anycomputer in FIG. 1 that displays motion images and motion capture datain a combined format.

FIG. 18 illustrates an embodiment of the synchronization architecturethat may be utilized by one or more embodiments of the invention.

FIG. 19 illustrates the detection of an event by one of the motioncapture sensors, transmission of the event detection to other motioncapture sensors and/or cameras, saving of the event motion data andtrimming of the video to correspond to the event.

FIG. 20 illustrates the process of culling a video for event videos, andselection of a best video clip for an event period where multiplecameras captured videos of the same event, along with a selectedsequence of synchronized event videos based on a selected metric, alongwith event videos sorted by selection criteria.

FIG. 21 illustrates image analysis to select a particular event videobased on the degree of shaking of a camera during the capture of thevideo, and selection of the video with the most stable images.

FIG. 22 illustrates control messages sent to the camera or cameras tomodify the video recording parameters based on the data associated withthe event, including the motion analysis data, for example while theevent is occurring.

FIG. 23 illustrates an embodiment of variable speed playback usingmotion data.

FIG. 24 illustrates image analysis of a video to assist withsynchronization of the video with event data and motion analysis dataand/or determine a motion characteristic of an object in the video notcoupled with a motion capture sensor.

FIG. 25 illustrates an embodiment of the system that analyzes the swingof a baseball bat by comparing the trajectory of the bat speed over timeto an optimal trajectory derived from a biomechanical model or from datamining of a database of swings.

FIG. 26 illustrates an embodiment of the system that analyzes thetrajectory of a golf ball using video analysis, calculates the necessarycorrections to hit the ball correctly into the hole, and displays thecorrections along with the video on a mobile device.

FIG. 27 illustrates an embodiment of the system that analyzes thetrajectories of putts stored in a database to derive a topographic modelof a putting green.

FIG. 28 illustrates an embodiment of the system with video and motionsensors installed on a motorcycle helmet; the system detects motorcyclecrashes, forwards crash data to an emergency service, and analyzesaggregate crash data to identify high risk road areas.

FIG. 29 illustrates an embodiment of the system that analyzes impactevents for a baseball bat to determine whether the bat was usedlegitimately for hitting baseballs, or was used for other purposes.

FIG. 30 illustrates an embodiment of the system that analyzes the rangeof motion of a knee joint using two motion capture elements on eitherside of the joint, and sends an alert when the range of motion exceeds athreshold.

FIG. 31 illustrates an embodiment of the system with a microphone and aninertial sensor in the motion capture element; the system uses audiodata from the microphone to distinguish between a true impact event anda false positive impact event.

FIG. 32 illustrates an embodiment of the system that receives othervalues associated with temperature, humidity, wind, elevation, lightsound and heart rate, to correlate the data or event data with the othervalues to determine a false positive, type of equipment the motioncapture element is coupled with or a type of activity.

FIG. 33 illustrates an embodiment that uses sensor data to identifyhighlight frames, displays highlight frames with motion metrics, anddiscards frames outside the highlighted timeframe.

FIG. 33A illustrates an embodiment that uses sensor data to identifyepic fail frames, displays these fail frames with motion metrics, anddiscards frames outside the fail timeframe.

FIG. 34 illustrates an embodiment of the system that combines sensordata analysis with analysis of text, audio, images and video fromservers to detect an event.

FIG. 35 illustrates an embodiment that analyzes text to classify anevent; it uses a weighting factor for each event and keyword combinationto compute an event score from the keywords located in the analyzedtext.

FIG. 36 illustrates an embodiment that uses sensor data to determine aprospective event, (a collision), and uses analysis of media todetermine whether the prospective event is valid or is a false positive.

FIG. 37 illustrates an embodiment that collects data using a motionsensor, and uses data from additional sensors, a temperature sensor andan altitude sensor, to determine whether the activity generating themotion data was snowboarding or surfing.

FIG. 38 illustrates an embodiment that collects and correlates data froma large number of sensors to detect an event involving an entire groupof persons; the vertical motion of audience members standing up atapproximately the same time indicates a standing ovation event.

FIG. 39 illustrates an embodiment that collects motion sensor data froma group of users near a location, and analyzes an aggregate metric,average speed, to detect that a major incident has occurred at thatlocation.

FIG. 40 illustrates an embodiment that automatically adds tags to anevent based on analysis of sensor data, and stores the tags along withthe metrics and sensor data for the event in an event database.

FIG. 41 shows an illustrative user interface that supports filtering ofevents by tag values, adding manually selected tags to events, andgeneration of a highlight reel containing video for a selected set ofevents.

FIG. 42 illustrates an embodiment that analyzes social media postings togenerate tags for an event.

FIG. 43 illustrates an embodiment that discards a portion of a videocapture not related to an event, and saves the relevant portion of thevideo along with the event and the event tags.

DETAILED DESCRIPTION OF THE INVENTION

A multi-sensor event detection and tagging system will now be described.In the following exemplary description numerous specific details are setforth in order to provide a more thorough understanding of the ideasdescribed throughout this specification. It will be apparent, however,to an artisan of ordinary skill that embodiments of ideas describedherein may be practiced without incorporating all aspects of thespecific details described herein. In other instances, specific aspectswell known to those of ordinary skill in the art have not been describedin detail so as not to obscure the disclosure. Readers should note thatalthough examples of the innovative concepts are set forth throughoutthis disclosure, the claims, and the full scope of any equivalents, arewhat define the invention.

FIG. 1 illustrates an embodiment of the multi-sensor event detection andtagging system 100. At least one embodiments enables intelligentanalysis of event data from a variety of sensors and/or non-sensor data,for example blog, chat, or social media postings to generate an event,and publish the event and/or generate event videos. Enables intelligentanalysis, synchronization, and transfer of generally concise eventvideos synchronized with motion data from motion capture sensor(s)coupled with a user or piece of equipment. Event data including videoand motion capture data are saved to database. Events are analyzed asthey occur, and correlated from a variety of sensors for example.Analysis of events stored in the database identifies trends,correlations, models, and patterns in event data. Greatly saves storageand increases upload speed by uploading event videos and avoiding uploadof non-pertinent portions of large videos. Provides intelligentselection of multiple videos from multiple cameras covering an event ata given time, for example selecting one with least shake. Enables nearreal-time alteration of camera parameters during an event determined bythe motion capture sensor, and alteration of playback parameters andspecial effects for synchronized event videos. Creates highlight reelsfiltered by metrics and can sort by metric. Integrates with multiplesensors to save event data even if other sensors do not detect theevent. Also enables analysis or comparison of movement associated withthe same user, other user, historical user or group of users. At leastone embodiment provides intelligent recognition of events within motiondata including but not limited to motion capture data obtained fromportable wireless motion capture elements such as visual markers andsensors, radio frequency identification tags and mobile device computersystems, or calculated based on analyzed movement associated with thesame user, or compared against the user or another other user,historical user or group of users. Enables low memory utilization forevent data and video data by trimming motion data and videos tocorrespond to the detected events. This may be performed on the mobiledevice or on a remote server and based on location and/or time of theevent and based on the location and/or time of the video, and mayoptionally include the orientation of the camera to further limit thevideos that may include the motion events. Embodiments enable eventbased viewing and low power transmission of events and communicationwith an app executing on a mobile device and/or with external cameras todesignate windows that define the events. Enables recognition of motionevents, and designation of events within images or videos, such as ashot, move or swing of a player, a concussion of a player, boxer, rideror driver, or a heat stroke, hypothermia, seizure, asthma attack,epileptic attack or any other sporting or physical motion related eventincluding walking and falling. Events may be correlated with one or moreimages or video as captured from internal/external camera or cameras ornanny cam, for example to enable saving video of the event, such as thefirst steps of a child, violent shaking events, sporting eventsincluding concussions, or falling events associated with an elderlyperson. Concussion related events and other events may be monitored forlinear acceleration thresholds and/or patterns as well as rotationalacceleration and velocity thresholds and/or patterns and/or saved on anevent basis and/or transferred over lightweight connectionless protocolsor any combination thereof. One or more embodiments may createintegrated, curated records of an event by combining sensor data withmedia retrieved from social media postings.

Embodiments also enable event based viewing and low power transmissionof events and communication with an app executing on a mobile deviceand/or with external cameras to designate windows that define theevents. Enables recognition of event, including motion events, anddesignation of events within images or videos, such as a shot, move orswing of a player, a concussion of a player, boxer, rider or driver, ora heat stroke, hypothermia, seizure, asthma attack, epileptic attack orany other sporting or physical motion related event including walkingand falling. Events may be correlated with one or more images or videoas captured from internal/external camera or cameras or nanny cam, forexample to enable saving video of the event, such as the first steps ofa child, violent shaking events, sporting events including concussions,or falling events associated with an elderly person. As shown,embodiments of the system generally include a mobile device 101 andapplications that execute thereon, that includes computer 160, shown aslocated internally in mobile device 101 as a dotted outline, (i.e., alsosee functional view of computer 160 in FIG. 1A), display 120 coupled tocomputer 160 and a communication interface, such as a secondcommunication interface, (generally internal to the mobile device, seeelement 164 in FIG. 1A) coupled with the computer. In one or moreembodiments, mobile device 101 may be for example, without limitation, asmart phone, a mobile phone, a laptop computer, a notebook computer, atablet computer, a personal digital assistant, a music player, or asmart watch (including for example an Apple Watch®). Since mobile phoneshaving mobile computers are ubiquitous, users of the system may purchaseone or more motion capture elements and an application, a.k.a., “app”,that they install on their pre-existing phone to implement an embodimentof the system. Motion capture capabilities are thus available at anaffordable price for any user that already owns a mobile phone, tabletcomputer, smart watch, music player, etc., which has never been possiblebefore.

Each mobile device 101, 102, 102 a, 102 b may optionally include aninternal identifier reader 190, for example an RFID reader, or maycouple with an identifier reader or RFID reader (see mobile device 102)to obtain identifier 191. Alternatively, embodiments of the inventionmay utilize any wired or wireless communication technology in any of thedevices to communicate an identifier that identifies equipment 110 tothe system. Embodiments of the invention may also include any other typeof identifier coupled with the at least one motion capture sensor or theuser or the piece of equipment. In one or more embodiments, theidentifier may include a team and jersey number or student identifiernumber or license number or any other identifier that enables relativelyunique identification of a particular event from a particular user orpiece of equipment. This enables team sports or locations with multipleplayers or users to be identified with respect to the app that mayreceive data associated with a particular player or user. One or moreembodiments receive the identifier, for example a passive RFIDidentifier or MAC address or other serial number associated with theplayer or user and associate the identifier with the event data andmotion analysis data.

The system generally includes at least one sensor, which may be any typeof environment sensor, physiological sensor and/or motion sensor. Forexample, computer 101 may include an altimeter, or thermometer or obtainthese values wirelessly. Sensor or smart watch 191 may include a heartrate monitor or may obtain values from an internal medical devicewirelessly for example. In addition embodiments may include motioncapture element 111 that couples with user 150 or with piece ofequipment 110, for example via mount 192, for example to a golf club, orbaseball bat, tennis racquet, hockey stick, weapon, stick, sword, snowboard, surf board, skate board, or any other board or piece of equipmentfor any sport, or other sporting equipment such as a shoe, belt, gloves,glasses, hat, or any other item. The at least one motion capture element111 may be placed at one end, both ends, or anywhere between both endsof piece of equipment 110 or anywhere on user 150, e.g., on a cap,headband, helmet, mouthpiece or any combination thereof, and may also beutilized for EI measurements of any item. The motion capture element mayoptionally include a visual marker, either passive or active, and/or mayinclude a sensor, for example any sensor capable of providing anycombination of one or more values associated with an orientation(North/South and/or up/down), position, velocity, acceleration, angularvelocity, and angular acceleration of the motion capture element. Thecomputer may obtain data associated with an identifier unique to eachpiece of equipment 110, e.g., clothing, bat, etc., for example from anRFID coupled with club 110, i.e., identifier 191, and optionallyassociated with the at least one motion capture element, either visuallyor via a communication interface receiving data from the motion captureelement, analyze the data to form motion analysis data and display themotion analysis data on display 120 of mobile device 101. Motion captureelement 111 may be mounted on or near the equipment or on or near theuser via motion capture mount 192. Motion capture element 111 mounted ona helmet for example may include an isolator including a material thatis may surround the motion capture element to approximate physicalacceleration dampening of cerebrospinal fluid around the user's brain tominimize translation of linear acceleration and rotational accelerationof event data to obtain an observed linear acceleration and an observedrotational acceleration of the user's brain. This lowers processingrequirements on the motion capture element microcontroller for exampleand enables low memory utilization and lower power requirements forevent based transmission of event data. The motion capture data frommotion capture element 111, any data associated with the piece ofequipment 110, such as identifier 191 and any data associated with user150, or any number of such users 150, such as second user 152 may bestored in locally in memory, or in a database local to the computer orin a remote database, for example database 172 for example that may becoupled with a server. Data from any sensor type, or event data fromanalysis of sensor data may be stored in database 172 from each user150, 152 for example when a network or telephonic network link isavailable from motion capture element 111 to mobile device 101 and frommobile device 101 to network 170 or Internet 171 and to database 172.Data mining is then performed on a large data set associated with anynumber of users and their specific characteristics and performanceparameters. For example, in a golf embodiment of the invention, a clubID is obtained from the golf club and a shot is detected by the motioncapture element. Mobile computer 101 stores images/video of the user andreceives the motion capture data for the events/hits/shots/motion andthe location of the event on the course and subsequent shots anddetermines any parameters for each event, such as distance or speed atthe time of the event and then performs any local analysis and displayperformance data on the mobile device. When a network connection fromthe mobile device to network 170 or Internet 171 is available or forexample after a round of golf, the images/video, motion capture data andperformance data is uploaded to database 172, for later analysis and/ordisplay and/or data mining. In one or more embodiments, users 151, suchas original equipment manufacturers pay for access to the database, forexample via a computer such as computer 105 or mobile computer 101 orfrom any other computer capable of communicating with database 172 forexample via network 170, Internet 171 or via website 173 or a serverthat forms part of or is coupled with database 172. Data mining mayexecute on database 172, for example that may include a local servercomputer, or may be run on computer 105 or mobile device 101, 102, 102 aor 102 b and access a standalone embodiment of database 172 for example.Data mining results may be displayed on mobile device 101, computer 105,television broadcast or web video originating from camera 130, 130 a and103 b, or 104 or accessed via website 173 or any combination thereof.

One or more embodiments of the at least one motion capture element mayfurther include a light emitting element that may output light if theevent occurs. This may be utilized to display a potential, mild orsevere level of concussion on the outer portion of the helmet withoutany required communication to any external device for example. Differentcolors or flashing intervals may also be utilized to relay informationrelated to the event. Alternatively, or in combination, the at least onemotion capture element may further include an audio output element thatmay output sound if the event occurs or if the at least one motioncapture sensor is out of range of the computer or wherein the computermay display and alert if the at least one motion capture sensor is outof range of the computer, or any combination thereof. Embodiments of thesensor may also utilize an LCD that outputs a coded analysis of thecurrent event, for example in a Quick Response (QR) code or bar code forexample so that a referee may obtain a snapshot of the analysis code ona mobile device locally, and so that the event is not viewed in areadable form on the sensor or transmitted and intercepted by anyoneelse.

One or more embodiments of the system may utilize a mobile device thatincludes at least one camera 130, for example coupled to the computerwithin the mobile device. This allows for the computer within mobiledevice 101 to command or instruct the camera 130, or any other devices,the computer or any other computer, to obtain an image or images, forexample of the user during an athletic movement. The image(s) of theuser may be overlaid with displays and ratings to make the motionanalysis data more understandable to a human for example. Alternatively,detailed data displays without images of the user may also be displayedon display 120 or for example on the display of computer 105. In thismanner two-dimensional images and subsequent display thereof is enabled.If mobile device 101 contains two cameras, as shown in mobile device102, i.e., cameras 130 a and 130 b, then the cameras may be utilized tocreate a three-dimensional data set through image analysis of the visualmarkers for example. This allows for distances and positions of visualmarkers to be ascertained and analyzed. Images and/or video from anycamera in any embodiments of the invention may be stored on database172, for example associated with user 150, for data mining purposes. Inone or more embodiments of the invention image analysis on the imagesand/or video may be performed to determine make/models of equipment,clothes, shoes, etc., that is utilized, for example per age of user 150or time of day of play, or to discover any other pattern in the data.Cameras may have field of views F2 and F3 at locations L1, L2 and L3 forexample, and the user may have range of motion S, and dimensions L.

Alternatively, for embodiments of mobile devices that have only onecamera, multiple mobile devices may be utilized to obtaintwo-dimensional data in the form of images that is triangulated todetermine the positions of visual markers. In one or more embodiments ofthe system, mobile device 101 and mobile device 102 a share image dataof user 150 to create three-dimensional motion analysis data. Bydetermining the positions of mobile devices 101 and 102 (via positiondetermination elements such as GPS chips in the devices as is common, orvia cell tower triangulation and which are not shown for brevity but aregenerally located internally in mobile devices just as computer 160 is),and by obtaining data from motion capture element 111 for examplelocations of pixels in the images where the visual markers are in eachimage, distances and hence speeds are readily obtained as one skilled inthe art will recognize.

Camera 103 may also be utilized either for still images or as is nowcommon, for video. In embodiments of the system that utilize externalcameras, any method of obtaining data from the external camera is inkeeping with the spirit of the system including for example wirelesscommunication of the data, or via wired communication as when camera 103is docked with computer 105 for example, which then may transfer thedata to mobile device 101.

In one or more embodiments of the system, the mobile device on which themotion analysis data is displayed is not required to have a camera,i.e., mobile device 102 b may display data even though it is notconfigured with a camera. As such, mobile device 102 b may obtain imagesfrom any combination of cameras on mobile device 101, 102, 102 a, camera103 and/or television camera 104 so long as any external camera maycommunicate images to mobile device 102 b. Alternatively, no camera isrequired at all to utilize the system. See also FIG. 17.

For television broadcasts, motion capture element 111 wirelesslytransmits data that is received by antenna 106. The wireless sensor datathus obtained from motion capture element 111 is combined with theimages obtained from television camera 104 to produce displays withaugmented motion analysis data that can be broadcast to televisions,computers such as computer 105, mobile devices 101, 102, 102 a, 102 b orany other device that may display images. The motion analysis data canbe positioned on display 120 for example by knowing the location of acamera (for example via GPS information), and by knowing the directionand/or orientation that the camera is pointing so long as the sensordata includes location data (for example GPS information). In otherembodiments, visual markers or image processing may be utilized to lockthe motion analysis data to the image, e.g., the golf club head can betracked in the images and the corresponding high, middle and lowposition of the club can be utilized to determine the orientation ofuser 150 to camera 130 or 104 or 103 for example to correctly plot theaugmented data onto the image of user 150. By time stamping images andtime stamping motion capture data, for example after synchronizing thetimer in the microcontroller with the timer on the mobile device andthen scanning the images for visual markers or sporting equipment atvarious positions, simplified motion capture data may be overlaid ontothe images. Any other method of combining images from a camera andmotion capture data may be utilized in one or more embodiments of theinvention. Any other algorithm for properly positioning the motionanalysis data on display 120 with respect to a user (or any otherdisplay such as on computer 105) may be utilized in keeping with thespirit of the system. For example, when obtaining events or groups ofevents via the sensor, after the app receives the events and/or timeranges to obtain images, the app may request image data from that timespan from it's local memory, any other mobile device, any other type ofcamera that may be communicated with and/or post event locations/timesso that external camera systems local to the event(s) may provide imagedata for the times of the event(s).

One such display that may be generated and displayed on mobile device101 include a BULLET TIME® view using two or more cameras selected frommobile devices 101, 102, 102 a, camera 103, and/or television camera 104or any other external camera. In this embodiment of the system, thecomputer may obtain two or more images of user 150 and data associatedwith the at least one motion capture element (whether a visual marker orsensor), wherein the two or more images are obtained from two or morecameras and wherein the computer may generate a display that shows slowmotion of user 150 shown from around the user at various angles atnormal speed. Such an embodiment for example allows a group of fans tocreate their own BULLET TIME® shot of a golf pro at a tournament forexample. The shots may be sent to computer 105 and any image processingrequired may be performed on computer 105 and broadcast to a televisionaudience for example. In other embodiments of the system, the users ofthe various mobile devices share their own set of images, and or uploadtheir shots to a website for later viewing for example. Embodiments ofthe invention also allow images or videos from other players havingmobile devices to be utilized on a mobile device related to another userso that users don't have to switch mobile phones for example. In oneembodiment, a video obtained by a first user for a piece of equipment inmotion that is not associated with the second user having the videocamera mobile phone may automatically transfer the video to the firstuser for display with motion capture data associated with the firstuser. Alternatively, the first user's mobile phone may be utilized as amotion sensor in place of or in addition to motion capture element 111and the second user's mobile phone may be utilized to capture video ofthe first user while in motion. The first user may optionally gesture onthe phone, tap/shake, etc., to indicate that the second mobile phoneshould start/stop motion capture for example.

FIG. 1A shows an embodiment of computer 160. In computer 160 includesprocessor 161 that executes software modules, commonly also known asapplications, generally stored as computer program instructions withinmain memory 162. Display interface 163 drives display 120 of mobiledevice 101 as shown in FIG. 1. Optional orientation/position module 167may include a North/South or up/down orientation chip or both. In one ormore embodiments, the orientation/position module may include a locationdetermination element coupled with the microcontroller. This may includea GPS device for example. Alternatively, or in combination, the computermay triangulate the location in concert with another computer, or obtainthe location from any other triangulation type of receiver, or calculatethe location based on images captured via a camera coupled with thecomputer and known to be oriented in a particular direction, wherein thecomputer calculates an offset from the mobile device based on thedirection and size of objects within the image for example. Optionalsensors 168 may coupled with processor 161 via a wired or wireless link.Optional sensors may include for example, without limitation, motionsensors, inertial sensors, temperature sensors, humidity sensors,altitude sensors, pressure sensors, ultrasonic or optical rangefinders,magnetometers, heartbeat sensors, pulse sensors, breathing sensors, andany sensors of any biological functions or any other environmental orphysiological sensor. The sensors may obtain data from network 170, orprovide sensor data to network 170. In addition, Processor 161 mayobtain data directly from sensors 168 or via the communicationsinterface. Optional sensors 168 may be utilized for example as anindicator of hypothermia or heat stroke alone or in combination with anymotion detected that may be indicative of shaking or unconsciousness forexample. Communication interface 164 may include wireless or wiredcommunications hardware protocol chips and/or an RFID reader or an RFIDreader may couple to computer 160 externally or in any other manner forexample. In one or more embodiments of the system communicationinterface may include telephonic and/or data communications hardware. Inone or more embodiments communication interface 164 may include a Wi-Fi™or other IEEE 802.11 device and/or BLUETOOTH® wireless communicationinterface or ZigBee® wireless device or any other wired or wirelesstechnology. BLUETOOTH® class 1 devices have a range of approximately 100meters, class 2 devices have a range of approximately 10 meters.BLUETOOTH® Low Power devices have a range of approximately 50 meters.Any network protocol or network media may be utilized in embodiments ofthe system so long as mobile device 101 and motion capture element 111can communicate with one another. Processor 161, main memory 162,display interface 163, communication interface 164 andorientation/position module 167 may communicate with one another overcommunication infrastructure 165, which is commonly known as a “bus”.Communications path 166 may include wired or wireless medium that allowsfor communication with other wired or wireless devices over network 170.Network 170 may communicate with Internet 171 and/or database 172.Database 172 may be utilized to save or retrieve images or videos ofusers, or motion analysis data, or users displayed with motion analysisdata in one form or another. The data uploaded to the Internet, i.e., aremote database or remote server or memory remote to the system may beviewed, analyzed or data mined by any computer that may obtain access tothe data. This allows for original equipment manufacturers to determinefor a given user what sporting equipment is working best and/or whatequipment to suggest. Data mining also enables the planning of golfcourses based on the data and/or metadata associated with users, such asage, or any other demographics that may be entered into the system.Remote storage of data also enables medical applications such asmorphological analysis, range of motion over time, and diabetesprevention and exercise monitoring and compliance applications. Datamining based applications also allow for games that use real motioncapture data from other users, one or more previous performances of thesame user, or historical players whether alive or dead after analyzingmotion pictures or videos of the historical players for example. Virtualreality and augmented virtual reality applications may also utilize themotion capture data or historical motion data. The system also enablesuploading of performance related events and/or motion capture data todatabase 172, which for example may be implemented as a socialnetworking site. This allows for the user to “tweet” high scores, orother metrics during or after play to notify everyone on the Internet ofthe new event. For example, one or more embodiments include at least onemotion capture element 111 that may couple with a user or piece ofequipment or mobile device coupled with the user, wherein the at leastone motion capture element includes a memory, such as a sensory datamemory, a sensor that may capture any combination of values associatedwith an orientation, position, velocity, acceleration, angular velocity,and angular acceleration of the at least one motion capture element, oneor more of a first communication interface and at least one othersensor, and a microcontroller, or microprocessor, coupled with thememory, the sensor and the first communication interface. According toat least embodiment of the invention, the microcontroller may be amicroprocessor. The microcontroller, or microprocessor, may collect datathat includes sensor values from the sensor, store the data in thememory, analyze the data and recognize an event within the data todetermine event data and transmit the event data associated with theevent via the communication interface. Embodiments of the system mayalso include an application that may execute on a mobile device whereinthe mobile device includes a computer, a second communication interfacethat may communicate with the first communication interface of themotion capture element to obtain the event data associated with theevent. The computer is coupled with the first communication interfacewherein the computer executes the application or “app” to configure thecomputer to receive the event data from the communication interface,analyze the event data to form motion analysis data, store the eventdata, or the motion analysis data, or both the event data and the motionanalysis data, and display information including the event data, or themotion analysis data, or both associated with the at least one user on adisplay.

FIG. 1B illustrates an architectural view of an embodiment of database172 utilized in embodiments of the system. As shown tables 180-186include information related to N number of users, M pieces of equipmentper user, P number of sensors per user or equipment, S number of sensordata per sensor, T number of patterns found in the other tables, Dnumber of data users, V videos, and K user measurements (size, range ofmotion, speed for particular body parts/joints). All tables shown inFIG. 1B are exemplary and may include more or less information asdesired for the particular implementation. Specifically, table 180includes information related to user 150 which may include data relatedto the user such as age, height, weight, sex, address or any other data.Table 181 include information related to M number of pieces of equipment110, which may include clubs, racquets, bats, shirts, pants, shoes,gloves, helmets, etc., for example the manufacturer of the equipment,model of the equipment, and type of the equipment. For example, in agolf embodiment, the manufacturer may be the name of the manufacturer,the model may be a name or model number and the type may be the clubnumber, i.e., 9 iron, the equipment ID may be identifier 191 in one ormore embodiments of the invention. Table 182 may include informationrelated to P number of sensors 111 on user 150 or equipment 110 ormobile computer 101. The sensors associated with user 150 may includeclothing, clubs, helmets, caps, headbands, mouthpieces, etc., thesensors associated with equipment 110 may for example be motion capturedata sensors, while the sensors associated with mobile computer 101 mayinclude sensors 167 for position/orientation and sensors 130 forimages/video for example. Table 183 may include information related to Snumber of sensor data per user per equipment, wherein the table mayinclude the time and location of the sensor data, or any other metadatarelated to the sensor data such as temperature, weather, humidity, asobtained locally via the temperature sensor shown in FIG. 1A, or viawired or wireless communications or in any other manner for example, orthe sensor data may include this information or any combination thereof.The table may also contain a myriad of other fields, such as ball type,i.e., in a golf embodiment the type of golf ball utilized may be savedand later data mined for the best performing ball types, etc. This tablemay also include an event type as calculated locally, for example apotential concussion event. Table 184 may include information related toT number of patterns that have been found in the data mining process forexample. This may include fields that have been searched in the varioustables with a particular query and any resulting related results. Anydata mining results table type may be utilized in one or moreembodiments of the invention as desired for the particularimplementation. This may include search results of any kind, includingEI measurements, which also may be calculated on computer 160 locally,or any other search value from simple queries to complex patternsearches. Table 185 may include information related to D number of datamining users 151 and may include their access type, i.e., full databaseor pattern table, or limited to a particular manufacturer, etc., thetable may also include payment requirements and/or receipts for the typeof usage that the data mining user has paid for or agreed to pay for andany searches or suggestions related to any queries or patterns found forexample. Any other schema, including object oriented databaserelationships or memory based data structures that allow for data miningof sensor data including motion capture data is in keeping with thespirit of the invention. Although exemplary embodiments for particularactivities are given, one skilled in the art will appreciate that anytype of motion based activity may be captured and analyzed byembodiments of the system using a motion capture element and app thatruns on a user's existing cell phone 101, 102 or other computer 105 forexample. Embodiments of the database may include V number of videos 179as held in table 186 for example that include the user that generatedthe video, the video data, time and location of the video. The fieldsare optional and in one or more embodiments, the videos may be stored onany of the mobile devices in the system or any combination of the mobiledevices and server/DB 172. In one or more embodiments, the videos may bebroken into a subset of videos that are associated with the “time” fieldof the sensor data table 183, wherein the time field may include anevent start time and event stop time. In this scenario, large videos maybe trimmed into one or more smaller event videos that correspond togenerally smaller time windows associated with events of the event typeheld in table 183 to greatly reduce video storage requirements of thesystem. Table 180 a may include information related to K number of usermeasurements, for example of lengths, speeds, ranges of motion, or othermeasurements of user dimensions or movements over time.

There are a myriad of applications that benefit and which are enabled byembodiments of the system that provide for viewing and analyzing motioncapture data on the mobile computer or server/database, for example fordata mining database 172 by users 151. For example, users 151 mayinclude compliance monitors, including for example parents, children orelderly, managers, doctors, insurance companies, police, military, orany other entity such as equipment manufacturers that may data mine forproduct improvement. For example in a tennis embodiment by searching fortop service speeds for users of a particular size or age, or in a golfembodiment by searching for distances, i.e., differences in sequentiallocations in table 183 based on swing speed in the sensor data field intable 183 to determine which manufacturers have the best clubs, or bestclubs per age or height or weight per user, or a myriad of otherpatterns. Other embodiments related to compliance enable messages frommobile computer 101 or from server/database to be generated ifthresholds for G-forces, (high or zero or any other levels), to be sentto compliance monitors, managers, doctors, insurance companies, etc., aspreviously described. Users 151 may include marketing personnel thatdetermine which pieces of equipment certain users own and which relateditems that other similar users may own, in order to target sales atparticular users. Users 151 may include medical personnel that maydetermine how much movement a sensor for example coupled with a shoe,i.e., a type of equipment, of a diabetic child has moved and how muchthis movement relates to the average non-diabetic child, whereinsuggestions as per table 185 may include giving incentives to thediabetic child to exercise more, etc., to bring the child in line withhealthy children. Sports physicians, physiologists or physicaltherapists may utilize the data per user, or search over a large numberof users and compare a particular movement of a user or range of motionfor example to other users to determine what areas a given user canimprove on through stretching or exercise and which range of motionareas change over time per user or per population and for example whattype of equipment a user may utilize to account for changes over time,even before those changes take place. Data mining motion capture dataand image data related to motion provides unique advantages to users151. Data mining may be performed on flex parameters measured by thesensors to determine if sporting equipment, shoes, human body parts orany other item changes in flexibility over time or between equipmentmanufacturers or any combination thereof.

To ensure that analysis of user 150 during a motion capture includesimages that are relatively associated with the horizon, i.e., nottilted, the system may include an orientation module that executes oncomputer 160 within mobile device 101 for example. The computer is mayprompt a user to align the camera along a horizontal plane based onorientation data obtained from orientation hardware within mobile device101. Orientation hardware is common on mobile devices as one skilled inthe art will appreciate. This allows the image so captured to remainrelatively level with respect to the horizontal plane. The orientationmodule may also prompt the user to move the camera toward or away fromthe user, or zoom in or out to the user to place the user within agraphical “fit box”, to somewhat normalize the size of the user to becaptured. Images may also be utilized by users to prove that they havecomplied with doctor's orders for example to meet certain motionrequirements.

Embodiments of the system may recognize the at least one motion captureelement associated with user 150 or piece of equipment 110 and associateat least one motion capture element 111 with assigned locations on user150 or piece of equipment 110. For example, the user can shake aparticular motion capture element when prompted by the computer withinmobile device 101 to acknowledge which motion capture element thecomputer is requesting an identity for. Alternatively, motion sensordata may be analyzed for position and/or speed and/or acceleration whenperforming a known activity and automatically classified as to thelocation of mounting of the motion capture element automatically, or byprompting the user to acknowledge the assumed positions. Sensors may beassociated with a particular player by team name and jersey number forexample and stored in the memory of the motion capture sensor fortransmission of events. Any computer shown in FIG. 1 may be utilized toprogram the identifier associated with the particular motion capturesensor in keeping with the spirit of the invention.

One or more embodiments of the computer in mobile device 101 may obtainat least one image of user 150 and display a three-dimensional overlayonto the at least one image of user 150 wherein the three-dimensionaloverlay is associated with the motion analysis data. Various displaysmay be displayed on display 120. The display of motion analysis data mayinclude a rating associated with the motion analysis data, and/or adisplay of a calculated ball flight path associated with the motionanalysis data and/or a display of a time line showing points in timealong a time axis where peak values associated with the motion analysisdata occur and/or a suggest training regimen to aid the user inimproving mechanics of the user. These filtered or analyzed data sensorresults may be stored in database 172, for example in table 183, or theraw data may be analyzed on the database (or server associated with thedatabase or in any other computer or combination thereof in the systemshown in FIG. 1 for example), and then displayed on mobile computer 101or on website 173, or via a television broadcast from camera 104 forexample. Data mining results may be combined in any manner with theunique displays of the system and shown in any desired manner as well.

Embodiments of the system may also present an interface to enable user150 to purchase piece of equipment 110 over the second communicationinterface of mobile device 101, for example via the Internet, or viacomputer 105 which may be implemented as a server of a vendor. Inaddition, for custom fitting equipment, such as putter shaft lengths, orany other custom sizing of any type of equipment, embodiments of thesystem may present an interface to enable user 150 to order a customerfitted piece of equipment over the second communication interface ofmobile device 101. Embodiments of the invention also enable mobiledevice 101 to suggest better performing equipment to user 150 or toallow user 150 to search for better performing equipment as determinedby data mining of database 172 for distances of golf shots per club forusers with swing velocities within a predefined range of user 150. Thisallows for real life performance data to be mined and utilized forexample by users 151, such as OEMs to suggest equipment to user 150, andbe charged for doing so, for example by paying for access to data miningresults as displayed in any computer shown in FIG. 1 or via website 173for example. In one or more embodiments of the invention database 172keeps track of OEM data mining and may bill users 151 for the amount ofaccess each of users 151 has purchased and/or used for example over agiving billing period. See FIG. 1B for example.

Embodiments of the system may analyze the data obtained from at leastone motion capture element and determine how centered a collisionbetween a ball and the piece of equipment is based on oscillations ofthe at least one motion capture element coupled with the piece ofequipment and display an impact location based on the motion analysisdata. This performance data may also be stored in database 172 and usedby OEMs or coaches for example to suggest clubs with higher probabilityof a centered hit as data mined over a large number of collisions forexample.

While FIG. 1A depicts a physical device, the scope of the systems andmethods set forth herein may also encompass a virtual device, virtualmachine or simulator embodied in one or more computer programs executingon a computer or computer system and acting or providing a computersystem environment compatible with the methods and processesimplementing the disclosed ideas. Where a virtual machine, process,device or otherwise performs substantially similarly to that of aphysical computer system of the system, such a virtual platform willalso fall within the scope of a system of the disclosure,notwithstanding the description herein of a physical system such as thatin FIG. 1A.

FIG. 1C illustrates a flow chart for an embodiment of the processingperformed and enabled by embodiments of the computers utilized in thesystem. In one or more embodiments of the system, a plurality of motioncapture elements are optionally calibrated at 301. In some embodimentsthis means calibrating multiple sensors on a user or piece of equipmentto ensure that the sensors are aligned and/or set up with the same speedor acceleration values for a given input motion. In other embodiments ofthe invention, this means placing multiple motion capture sensors on acalibration object that moves and calibrates the orientation, position,velocity, acceleration, angular velocity, angular acceleration or anycombination thereof at the same time. This step general includesproviding motion capture elements and optional mount (or alternativelyallowing a mobile device with motion capture sensing capabilities to beutilized), and an app for example that allows a user with an existingmobile phone or computer to utilize embodiments of the system to obtainmotion capture data, and potentially analyze and/or send messages basedthereon. In one or more embodiments, users may simply purchase a motioncapture element and an app and begin immediately using the system. Thesystem captures motion data with motion capture element(s) at 302,recognized any events within the motion capture data, i.e., a linearand/or rotational acceleration over a threshold indicative of aconcussion, or a successful skateboard trick, and eliminate falsepositives through use of multiple sensors to correlate data anddetermine if indeed a true event has occurred for example at 303, andsends the motion capture data to a mobile computer 101, 102 or 105 forexample, which may include an IPOD®, ITOUCH®, IPAD®, IPHONE®, ANDROID®Phone or any other type of computer that a user may utilize to locallycollect data at 304. In one or more embodiments the sensor may transmitan event to any other motion capture sensor to start an event datastorage process on the other sensors for example. In other embodiments,the sensor may transmit the event to other mobile devices to signifythat videos for the event should be saved with unneeded portions of thevideo discarded for example, to enable the video to be trimmed eithernear the point in time of the event or at a later time. In one or moreembodiments, the system minimizes the complexity of the sensor andoffloads processing to extremely capable computing elements found inexisting mobile phones and other electronic devices for example. Thetransmitting of data from the motion capture elements to the user'scomputer may happen when possible, periodically, on an event basis, whenpolled, or in any other manner as will be described in various sectionsherein. This saves great amount of power compared to known systems thatcontinuously send raw data in two ways, first data may be sent in eventpackets, within a time window around a particular motion event whichgreatly reduces the data to a meaningful small subset of total raw data,and secondly the data may be sent less than continuously, or at definedtimes, or when asked for data so as to limit the total number oftransmissions. In one or more embodiments, the event may displayedlocally, for example with an LED flashing on the motion capture sensor111, for example yellow slow flashing for potential concussion or redfast flashing for probably concussion at 305. Alternatively, or incombination, the alert or event may be transmitted and displayed on anyother computer or mobile device shown in FIG. 1 for example.

The main intelligence in the system is generally in the mobile computeror server where more processing power may be utilized and so as to takeadvantage of the communications capabilities that are ubiquitous inexisting mobile computers for example. In one or more embodiments of thesystem, the mobile computer may optionally obtain an identifier from theuser or equipment at 306, or this identifier may be transmitted as partof step 305, such as a passive RFID or active RFID or other identifiersuch as a team/jersey number or other player ID, which may be utilizedby the mobile computer to determine what user has just been potentiallyinjured, or what weight as user is lifting, or what shoes a user isrunning with, or what weapon a user is using, or what type of activity auser is using based on the identifier of the equipment. The mobilecomputer may analyze the motion capture data locally at 307 (just as in303 or in combination therewith), and display, i.e., show or sendinformation such as a message for example when a threshold is observedin the data, for example when too many G-forces have been registered bya player, soldier or race car driver, or when not enough motion isoccurring (either at the time or based on the patterns of data in thedatabase as discussed below based on the user's typical motion patternsor other user's motion patterns for example.) In other embodiments, oncea user has performed a certain amount of motion, a message may be sentto safety or compliance monitor(s) at 307 to store or otherwise displaythe data, including for example referees, parents, children or elderly,managers, doctors, insurance companies, police, military, or any otherentity such as equipment manufacturers. The message may be an SMSmessage, or email, or tweet or any other type of electroniccommunication. If the particular embodiment is configured for remoteanalysis or only remote analysis, then the motion capture data may besent to the server/database at 308. If the implementation does notutilize a remote database, the analysis on the mobile computer is local.If the implementation includes a remote database, then the analysis maybe performed on the mobile computer or server/database or both at 309.Once the database obtains the motion capture data, then the data may beanalyzed and a message may be sent from the server/database tocompliance personnel or business entities as desired to display theevent alone or in combination or with respect to previous event dataassociated with the user or other users at 310, for example associatedwith video of the event having the user or an avatar of the user and forexample as compared with previous performance data of the user or otheruser.

Embodiments of the invention make use of the data from the mobilecomputer and/or server for gaming, morphological comparing, compliance,tracking calories burned, work performed, monitoring of children orelderly based on motion or previous motion patterns that vary during theday and night, safety monitoring for players, troops when G-forcesexceed a threshold or motion stops, local use of running, jumpingthrowing motion capture data for example on a cell phone includingvirtual reality applications that make use of the user's current and/orprevious data or data from other users, or play music or select a playlist based on the type of motion a user is performing or data mining.For example if motion is similar to a known player in the database, thenthat user's playlist may be sent to the user's mobile computer 101. Theprocessing may be performed locally so if the motion is fast, fast musicis played and if the motion is slow, then slow music may be played. Anyother algorithm for playing music based on the motion of the user is inkeeping with the spirit of the invention. Any use of motion capture dataobtained from a motion capture element and app on an existing user'smobile computer is in keeping with the spirit of the invention,including using the motion data in virtual reality environments to showrelative motion of an avatar of another player using actual motion datafrom the user in a previous performance or from another user including ahistorical player for example. Display of information is generallyperformed via three scenarios, wherein display information is based onthe user's motion analysis data or related to the user's piece ofequipment and previous data, wherein previous data may be from the sameuser/equipment or one or more other users/equipment. Under thisscenario, a comparison of the current motion analysis data with previousdata associated with this user/equipment allows for patterns to beanalyzed with an extremely cost effective system having a motion capturesensor and app. Under another scenario, the display of information is afunction of the current user's performance, so that the previous dataselected from the user or another user/equipment is based on the currentuser's performance. This enables highly realistic game play, for examplea virtual tennis game against a historical player wherein the swings ofa user are effectively responded to by the capture motion from ahistorical player. This type of realistic game play with actual databoth current and previously stored data, for example a user playingagainst an average pattern of a top 10 player in tennis, i.e., the speedof serves, the speed and angle of return shots, for a given input shotof a user makes for game play that is as realistic as is possible.Television images may be for example analyzed to determine swing speedsand types of shots taken by historical players that may no longer bealive to test one's skills against a master, as if the master was stillalive and currently playing the user. Compliance and monitoring by theuser or a different user may be performed in a third scenario withoutcomparison to the user's previous or other user's previous data whereinthe different user does not have access to or own for example the mobilecomputer. In other words, the mobile phone is associated with the userbeing monitored and the different user is obtaining information relatedto the current performance of a user for example wearing a motioncapture element, such as a baby, or a diabetes patient.

FIG. 1D illustrates a data flow diagram for an embodiment of the system.As shown motion capture data is sent from a variety of motion captureelements 111 on many different types of equipment 110 or associated withuser 150, for example on clothing, a helmet, headband, cap, mouthpieceor anywhere else coupled with the user. The equipment or user mayoptionally have an identifier 191 that enables the system to associate avalue with the motion, i.e., the weight being lifted, the type ofracquet being used, the type of electronic device being used, i.e., agame controller or other object such as baby pajamas associated withsecond user 152, e.g., a baby. In one or more embodiments, elements 191in the figure may be replaced or augmented with motion capture elements111 as one skilled in the art will appreciate. In one or moreembodiments of the system, mobile computer 101 receives the motioncapture data, for example in event form and for example on an eventbasis or when requested by mobile computer 101, e.g., after motioncapture elements 111 declares that there is data and turns on a receiverfor a fix amount of time to field requests so as to not waste power, andif no requests are received, then turn the receiver off for a period oftime. Once the data is in mobile computer 101, then the data isanalyzed, for example to take raw or event based motion capture data andfor example determine items such as average speed, etc., that are morehumanly understandable in a concise manner. The data may be stored,shown to the right of mobile computer 101 and then the data may bedisplayed to user 150, or 151, for example in the form of a monitor orcompliance text or email or on a display associated with mobile computer101 or computer 105. This enables users not associated with the motioncapture element and optionally not even the mobile computer potentiallyto obtain monitor messages, for example saying that the baby isbreathing slowly, or for example to watch a virtual reality match orperformance, which may include a user supplying motion capture datacurrently, a user having previously stored data or a historical player,such as a famous golfer, etc., after analysis of motion in video frompast tournament performance(s). In gaming scenarios, where the dataobtained currently, for example from user 150 or equipment 110, thedisplay of data, for example on virtual reality glasses may make use ofthe previous data from that user/equipment or another user/equipment torespond to the user's current motion data, i.e., as a function of theuser's input. The previous data may be stored anywhere in the system,e.g., in the mobile computer 101, computer 105 or on the server ordatabase 172 (see FIG. 1). The previous data may be utilized for exampleto indicate to user 151 that user 150 has undergone a certain number ofpotential concussion events, and therefore must heal for a particularamount of time before playing again. Insurance companies may demand suchcompliance to lower medical expenses for example. Video may be storedand retrieved from mobile device 101, computer 105 or as shown in FIG.1, on server or in database coupled with server 172 to form event videosthat include the event data and the video of the event shownsimultaneously for example on a display, e.g., overlaid or shown inseparate portions of the display of mobile computer 101 or computer 105generally.

FIG. 2A illustrates a helmet 110 a based mount that surrounds the head150 a of a user wherein the helmet based mount holds a motion capturesensor 111, for example as shown on the rear portion of the helmet. FIG.2B illustrates a neck insert based mount, shown at the bottom rearportion of the helmet, that enables retrofitting existing helmets with amotion capture sensor 111. In embodiments that include at least onemotion capture sensor that may be coupled with or otherwise worn nearthe user's head 150 a, the microcontroller, or microprocessor, maycalculate of a location of impact on the user's head. The calculation ofthe location of impact on the user's head is based on the physicalgeometry of the user's head and/or helmet. For example, if motioncapture element 111 indicates a rearward acceleration with no rotation(to the right in the figure as shown), then the location of impact maybe calculated by tracing the vector of acceleration back to thedirection of the outside perimeter of the helmet or user's head. Thisnon-rotational calculation effectively indicates that the line of forcepasses near or through the center of gravity of the user's head/helmet,otherwise rotational forces are observed by motion capture element 111.If a sideward vector is observed at the motion capture element 111, thenthe impact point is calculated to be at the side of the helmet/head andthrough the center of gravity. Hence, any other impact that does notimpart a rotational acceleration to the motion capture sensor over atleast a time period near the peak of the acceleration for example, orduring any other time period, may be assumed to be imparted in adirection to the helmet/head that passes through the center of gravity.Hence, the calculation of the point of impact is calculated as theintersection of the outer perimeter of the helmet/head that a vector offorce is detected and traversed backwards to the point of impact bycalculating the distance and angle back from the center of gravity. Forexample, if the acceleration vector is at 45 degrees with no rotation,then the point of impact is 45 degrees back from the center of gravityof the helmet/head, hence calculating the sine of 45, approximately 0.7multiplied by the radius of the helmet or 5 inches, results in an impactabout 3.5 inches from the front of the helmet. Alternatively, thelocation of impact may be kept in angular format to indicate that theimpact was at 45 degrees from the front of the helmet/head. Conversely,if rotational acceleration is observed without linear acceleration, thenthe helmet/head is rotating about the sensor. In this scenario, theforce required to rotate the brain passes in front of the center ofgravity and is generally orthogonal to a line defined as passing throughthe center of gravity and the sensor, e.g., a side impact, otherwisetranslation linear acceleration would be observed. In this case, thelocation of impact then is on the side of the helmet/head opposite thedirection of the acceleration. Hence, these two calculations of locationof impact as examples of simplified methods of calculations that may beutilized although any other vector based algorithm that takes intoaccount the mass of the head/helmet and the size of the head/helmet maybe utilized. One such algorithm may utilize any mathematical equationssuch as F=m*a, i.e., Force equal mass times acceleration, andTorque=rXF, where r is the position vector at the outer portion of thehead/helmet, X is the cross product and F is the Force vector, tocalculate the force vector and translate back to the outer perimeter ofthe helmet/head to calculate the Force vector imparted at that locationif desired. Although described with respect to a helmet, otherembodiments of the at least one motion capture sensor may be coupledwith a hat or cap, within a protective mouthpiece, using any type ofmount, enclosure or coupling mechanism. Similar calculations may beutilized for the hat/cap/mouthpiece to determine a location/direction ofimpact, linear or rotational forces from the accelerations or any otherquantities that may be indicative of concussion related events forexample. Embodiments may include a temperature sensor coupled with theat least one motion capture sensor or with the microcontroller forexample as shown in FIG. 1A. The temperature sensor may be utilizedalone or in combination with the motion capture element, for example todetermine if the body or head is shivering, i.e., indicative ofhypothermia, or if no movement is detected and the temperature forexample measure wirelessly or via a wire based temperature sensorindicates that the body or brain is above a threshold indicative of heatstroke.

Embodiments of the invention may also utilize an isolator that maysurround the at least one motion capture element to approximate physicalacceleration dampening of cerebrospinal fluid around the user's brain tominimize translation of linear acceleration and rotational accelerationof the event data to obtain an observed linear acceleration and anobserved rotational acceleration of the user's brain. Thus embodimentsdo not have to translate forces or acceleration values or any othervalues from the helmet based acceleration to the observed brainacceleration values and thus embodiments of the invention utilize lesspower and storage to provide event specific data, which in turnminimizes the amount of data transfer which yields lower transmissionpower utilization. Different isolators may be utilized on afootball/hockey/lacrosse player's helmet based on the type of paddinginherent in the helmet. Other embodiments utilized in sports wherehelmets are not worn, or occasionally worn may also utilize at least onemotion capture sensor on a cap or hat, for example on a baseballplayer's hat, along with at least one sensor mounted on a battinghelmet. Headband mounts may also be utilized in sports where a cap isnot utilized, such as soccer to also determine concussions. In one ormore embodiments, the isolator utilized on a helmet may remain in theenclosure attached to the helmet and the sensor may be removed andplaced on another piece of equipment that does not make use of anisolator that matches the dampening of a user's brain fluids.Embodiments may automatically detect a type of motion and determine thetype of equipment that the motion capture sensor is currently attachedto based on characteristic motion patterns associated with certain typesof equipment, i.e., surfboard versus baseball bat. In one or moreembodiments an algorithm that may be utilized to calculate the physicalcharacteristics of an isolator may include mounting a motion capturesensor on a helmet and mounting a motion capture sensor in a headform ina crash test dummy head wherein the motion capture sensor in theheadform is enclosed in an isolator. By applying linear and rotationalaccelerations to the helmet and observing the difference in valuesobtained by the helmet sensor and observed by the sensor in the headformfor example with respect to a sensor placed in a cadaver head within ahelmet, the isolator material of the best matching dampening value maybe obtained that most closely matches the dampening effect of a humanbrain.

FIG. 3 illustrates a close-up of the mount of FIGS. 2A-B showing theisolator between the motion capture sensor and external portion of thehelmet. Embodiments of the invention may obtain/calculate a linearacceleration value or a rotational acceleration value or both. Thisenables rotational events to be monitored for concussions as well aslinear accelerations. As shown, an external acceleration G1 may impart alower acceleration more associated with the acceleration observed by thehuman brain, namely G2 on sensor 111 by utilizing isolator 111 c withinsensor mount 111 b. This enables rotational events to be monitored forconcussions as well as linear accelerations. Other events may make useof the linear and/or rotational acceleration and/or velocity, forexample as compared against patterns or templates to not only switchsensor personalities during an event to alter the capturecharacteristics dynamically, but also to characterize the type ofequipment currently being utilized with the current motion capturesensor. This enables a single motion capture element purchase by a userto instrument multiple pieces of equipment or clothing by enabling thesensor to automatically determine what type of equipment or piece ofclothing the sensor is coupled to based on the motion captured by thesensor when compared against characteristic patterns or templates ofmotion.

FIG. 4A illustrates a top cross sectional view of the motion captureelement 111 mounted on helmet 110 a having padding 110 a 1 thatsurrounds cranium 401, and brain 402 of a user. FIG. 4B illustrates arotational concussion event for the various elements shown in FIG. 4. Asshown, different acceleration values may be imparted on the human brain402 and cranium 401 having center of gravity 403 and surrounded bypadding 110 a 1 in helmet 110 a. As shown, to move within a unit timeperiod, the front portion of the brain must accelerate at a higher rateG2 a, than the rear portion of the brain at G2 c or at G2 b at thecenter of gravity. Hence, for a given rotational acceleration valuedifferent areas of the brain may be affected differently. One or moreembodiments of the invention may thus transmit information not onlyrelated to linear acceleration, but also with rotational acceleration.

FIG. 5 illustrates the input force to the helmet, G1, e.g., as shown at500 g, versus the observed force within the brain G2, and as observed bythe sensor when mounted within the isolator and as confirmed with knownheadform acceleration measurement systems. The upper right graph showsthat two known headform systems confirm acceleration values observed byan isolator based motion capture element 111 shown in FIG. 4A withrespect to headform mounted accelerometers.

FIG. 6 illustrates the rotational acceleration values of the 3 axesalong with the total rotational vector amount along with video of theconcussion event as obtained from a camera and displayed with the motionevent data. In one or more embodiments, the acceleration values from agiven sensor may be displayed for rotational (as shown) or linearvalues, for example by double tapping a mobile device screen, or in anyother manner. Embodiments of the invention may transmit the event dataassociated with the event using a connectionless broadcast message. Inone or more embodiments, depending on the communication employed,broadcast messages may include payloads with a limited amount of datathat may be utilized to avoid handshaking and overhead of a connectionbased protocol. In other embodiments connectionless or connection basedprotocols may be utilized in any combination. In this manner, a refereemay obtain nearly instantaneous readouts of potential concussion relatedevents on a mobile device, which allows the referee to obtain medicalassistance in rapid fashion.

In one or more embodiments, the computer may access previously storedevent data or motion analysis data associated with at least one otheruser, or the user, or at least one other piece of equipment, or thepiece of equipment, for example to determine the number of concussionsor falls or other swings, or any other motion event. Embodiments mayalso display information including a presentation of the event dataassociated with the at least one user on a display based on the eventdata or motion analysis data associated with the user or piece ofequipment and the previously stored event data or motion analysis dataassociated with the user or the piece of equipment or with the at leastone other user or the other piece of equipment. This enables comparisonof motion events, in number or quantitative value, e.g., the maximumrotational acceleration observed by the user or other users in aparticular game or historically. In addition, in at least oneembodiment, patterns or templates that define characteristic motion ofparticular pieces of equipment for typical events may be dynamicallyupdated, for example on a central server or locally, and dynamicallyupdated in motion capture sensors via the first communication interfacein one or more embodiments. This enables sensors to improve over time.Hence, the display shown in FIG. 6 may also indicate the number ofconcussions previously stored for a given boxer/player and enable thereferee/doctor to make a decision as to whether or not the player maykeep playing or not.

Embodiments of the invention may transmit the information to a displayon a visual display coupled with the computer or a remote computer, forexample over broadcast television or the Internet for example. Hence,the display in FIG. 6 may be also shown to a viewing audience, forexample in real-time to indicate the amount of force imparted upon theboxer/player/rider, etc.

FIG. 7 illustrates a timeline display 2601 of a user along with peak andminimum angular speeds along the timeline shown as events along the timeline. In addition, a graph showing the lead and lag of the golf club2602 along with the droop and drift of the golf club is shown in thebottom display wherein these values determine how much the golf clubshaft is bending in two axes as plotted against time. An embodiment ofthe display is shown in FIG. 8 with simplified time line and motionrelated event (maximum speed of the swing) annotated on the display.

FIG. 8 illustrates a sub-event scrub timeline that enables inputs nearthe start/stop points 802 a-d in time, i.e., sub-event time locationsshown in FIG. 7 and associated with sub-events to be scrolled to, playedto or from, to easily enable viewing of sub-events. For example a golfswing may include sub-events such as an address, swing back, swingforward, strike, follow through. The system may display time locationsfor the sub-events 802 a-d and accept user input near the location toassert that the video should start or stop at that point in time, orscroll to or back to that point in time for ease of viewing sub-eventsfor example. User input element 801 may be utilized to drag the time toa nearby sub-event for example to position the video at a desired pointin time. Alternatively, or in combination a user input such as assertinga finger press near another sub-event point in time while the video isplaying, may indicate that the video should stop at the next sub-eventpoint in time. The user interface may also be utilized to control-dragthe points to more precisely synchronize the video to the frame in whicha particular sub-event or event occurs. For example, the user may holdthe control key and drag a point 802 b to the left or right to match theframe of the video to the actual point in time where the velocity of theclub head is zero for example to more closely synchronize the video tothe actual motion analysis data shown, here Swing Speed in miles perhour. Any other user gesture may be utilized in keeping with the spiritof the invention to synchronize a user frame to the motion analysisdata, such as voice control, arrow keys, etc.

FIG. 9 illustrates the relative locations along the timeline wheresub-events 802 a and 802 b start and stop and the gravity associatedwith the start and stop times, which enable user inputs near thosepoints to gravitate to the start and stop times. For example, whendragging the user interface element 801 left and right along the timeline, the user interface element may appear to move toward the potentialwell 802 a and 802 b, so that the user interface element is easier tomove to the start/stop point of a sub-event.

In one or more embodiments, the computer may request at least one imageor video that contains the event from at least one camera proximal tothe event. This may include a broadcast message requesting video from aparticular proximal camera or a camera that is pointing in the directionof the event. In one or more embodiments, the computer may broadcast arequest for camera locations proximal to the event or oriented to viewthe event, and optionally display the available cameras, or videostherefrom for the time duration around the event of interest. In one ormore embodiments, the computer may display a list of one or more timesat which the event has occurred, which enables the user obtain thedesired event video via the computer, and/or to independently requestthe video from a third party with the desired event times. The computermay obtain videos from the server 172 as well and locally trim the videoto the desired events. This may be utilized to obtain third party videosor videos from systems that do not directly interface with the computer,but which may be in communication with the server 172.

FIG. 10 illustrates an embodiment that utilizes a mobile device 102 b asthe motion capture element 111 a and another mobile device 102 a as thecomputer that receives the motion event data and video of the first userevent. The view from mobile device 102 a is shown in the left upperportion of the figure. In one or more embodiments, the at least onemotion capture sensor is coupled with the mobile device and for exampleuses an internal motion sensor 111 a within or coupled with the mobiledevice. This enables motion capture and event recognition with minimaland ubiquitous hardware, e.g., using a mobile device with a built-inaccelerometer. In one or more embodiments, a first mobile device 102 bmay be coupled with a user recording motion data, here shownskateboarding, while a second mobile device 102 a is utilized to recorda video of the motion. In one or more embodiments, the user undergoingmotion may gesture, e.g., tap N times on the mobile device to indicatethat the second user's mobile device should start recording video orstop recording video. Any other gesture may be utilized to communicateevent related or motion related indications between mobile devices.

Thus embodiments of the invention may recognize any type of motionevent, including events related to motion that is indicative ofstanding, walking, falling, a heat stroke, seizure, violent shaking, aconcussion, a collision, abnormal gait, abnormal or non-existentbreathing or any combination thereof or any other type of event having aduration of time during with motion occurs. Events may also be of anygranularity, for example include sub-events that have known signatures,or otherwise match a template or pattern of any type, includingamplitude and/or time thresholds in particular sets of linear orrotational axes. For example, events indicating a skateboard push-off orseries of pushes may be grouped into a sub-event such as “prep formaneuver”, while rotational axes in X for example may indicate“skateboard flip/roll”. In one or more embodiments, the events may begrouped and stored/sent.

FIG. 11 illustrates an embodiment of the memory utilized to store data.Memory 4601 may for example be integral to the microcontroller in motioncapture element 111 or may couple with the microcontroller, as forexample a separate memory chip. Memory 4601 as shown may include one ormore memory buffer 4610, 4611 and 4620, 4621 respectively. Oneembodiment of the memory buffer that may be utilized is a ring buffer.The ring buffer may be implemented to be overwritten multiple timesuntil an event occurs. The length of the ring buffer may be from 0 to Nmemory units. There may for example be M ring buffers, for M strikeevents for example. The number M may be any number greater than zero. Inone or more embodiments, the number M may be equal to or greater thanthe number of expected events, e.g., number of hits, or shots for around of golf, or any other number for example that allows all motioncapture data to be stored on the motion capture element until downloadedto a mobile computer or the Internet after one or more events. In oneembodiment, a pointer, for example called HEAD keeps track of the headof the buffer. As data is recorded in the buffer, the HEAD is movedforward by the appropriate amount pointing to the next free memory unit.When the buffer becomes full, the pointer wraps around to the beginningof the buffer and overwrites previous values as it encounters them.Although the data is being overwritten, at any instance in time (t),there is recorded sensor data from time (t) back depending on the sizeof the buffer and the rate of recording. As the sensor records data inthe buffer, an “Event” in one or more embodiments stops new data fromoverwriting the buffer. Upon the detection of an Event, the sensor cancontinue to record data in a second buffer 4611 to record post Eventdata, for example for a specific amount of time at a specific capturerate to complete the recording of a prospective shot. Memory buffer 4610now contains a record of data for a desired amount of time from theEvent backwards, depending on the size of the buffer and capture ratealong with post Event data in the post event buffer 4611. Video may alsobe stored in a similar manner and later trimmed, see FIG. 19 forexample.

For example, in a golf swing, the event can be the impact of the clubhead with the ball. Alternatively, the event can be the impact of theclub head with the ground, which may give rise to a false event. Inother embodiments, the event may be an acceleration of a user's headwhich may be indicative of a concussion event, or a shot fired from aweapon, or a ball striking a baseball bat or when a user moves a weightto the highest point and descends for another repetition. The Pre-Eventbuffer stores the sensor data up to the event of impact, the Post-Eventbuffer stores the sensor data after the impact event. One or moreembodiments of the microcontroller, or microprocessor, may analyze theevent and determine if the event is a repetition, firing or event suchas a strike or a false strike. If the event is considered a valid eventaccording to a pattern or signature or template (see FIGS. 13 and 15),and not a false event, then another memory buffer 4620 is used formotion capture data up until the occurrence of a second event. Afterthat event occurs, the post event buffer 4621 is filled with captureddata.

Specifically, the motion capture element 111 may be implemented as oneor more MEMs sensors. The sensors may be commanded to collect data atspecific time intervals. At each interval, data is read from the variousMEMs devices, and stored in the ring buffer. A set of values read fromthe MEMs sensors is considered a FRAME of data. A FRAME of data can be0, 1, or multiple memory units depending on the type of data that isbeing collected and stored in the buffer. A FRAME of data is alsoassociated with a time interval. Therefore frames are also associatedwith a time element based on the capture rate from the sensors. Forexample, if each Frame is filled at 2 ms intervals, then 1000 FRAMESwould contain 2000 ms of data (2 seconds). In general, a FRAME does nothave to be associated with time.

Data can be constantly stored in the ring buffer and written out tonon-volatile memory or sent over a wireless or wired link over aradio/antenna to a remote memory or device for example at specifiedevents, times, or when communication is available over a radio/antennato a mobile device or any other computer or memory, or when commandedfor example by a mobile device, i.e., “polled”, or at any other desiredevent.

FIG. 12 shows a flow chart of an embodiment of the functionalityspecifically programmed into the microcontroller to determine whether anevent that is to be transmitted for the particular application, forexample a prospective event or for example an event has occurred. Themotion, acceleration or shockwave that occurs from an impact to thesporting equipment is transmitted to the sensor in the motion captureelement, which records the motion capture data as is described in FIG.11 above. The microcontroller, or microprocessor, may analyze the eventand determine whether the event is a prospective event or not.

One type of event that occurs is acceleration or ahead/helmet/cap/mouthpiece based sensor over a specified linear orrotational value, or the impact of the clubface when it impacts a golfball. In other sports that utilize a ball and a striking implement, thesame analysis is applied, but tailored to the specific sport andsporting equipment. In tennis a prospective strike can be the racquethitting the ball, for example as opposed to spinning the racquet beforereceiving a serve. In other applications, such as running shoes, theimpact detection algorithm can detect the shoe hitting the ground whensomeone is running. In exercise it can be a particular motion beingachieved, this allows for example the counting of repetitions whilelifting weights or riding a stationary bike.

In one or more embodiments of the invention, processing starts at 4701.The microcontroller compares the motion capture data in memory 4610 withlinear velocity over a certain threshold at 4702, within a particularimpact time frame and searches for a discontinuity threshold where thereis a sudden change in velocity or acceleration above a certain thresholdat 4703. If no discontinuity in velocity or for example accelerationoccurs in the defined time window, then processing continues at 4702. Ifa discontinuity does occur, then the prospective impact is saved inmemory and post impact data is saved for a given time P at 4704. Forexample, if the impact threshold is set to 12G, discontinuity thresholdis set to 6G, and the impact time frames is 10 frames, thenmicrocontroller 3802 signals impact, after detection of a 12Gacceleration in at least one axis or all axes within 10 frames followedby a discontinuity of 6G. In a typical event, the accelerations buildwith characteristic accelerations curves. Impact is signaled as a quickchange in acceleration/velocity. These changes are generally distinctfrom the smooth curves created by an incrementally increasing ordecreasing curves of a particular non-event. For concussion basedevents, linear or rotational acceleration in one or more axes is over athreshold. For golf related events, if the acceleration curves are thatof a golf swing, then particular axes have particular accelerations thatfit within a signature, template or other pattern and a ball strikeresults in a large acceleration strike indicative of a hit. If the datamatches a given template, then it is saved, if not, it processingcontinues back at 4702. If data is to be saved externally as determinedat 4705, i.e., there is a communication link to a mobile device and themobile device is polling or has requested impact data when it occurs forexample, then the event is transmitted to an external memory, or themobile device or saved externally in any other location at 4706 andprocessing continues again at 4702 where the microcontroller analyzescollected motion capture data for subsequent events. If data is not tobe saved externally, then processing continues at 4702 with the impactdata saved locally in memory 4601. If sent externally, the other motioncapture devices may also save their motion data for the event detectedby another sensor. This enables sensors with finer resolution or moremotion for example to alert other sensors associated with the user orpiece of equipment to save the event even if the motion capture datadoes not reach a particular threshold or pattern, for example see FIG.15. This type of processing provides more robust event detection asmultiple sensors may be utilized to detect a particular type of eventand notify other sensors that may not match the event pattern for onereason or another. In addition, cameras may be notified and trim orotherwise discard unneeded video and save event related video, which maylower memory utilization not only of events but also for video. In oneor more embodiments of the invention, noise may be filtered from themotion capture data before sending, and the sample rate may be variedbased on the data values obtained to maximize accuracy. For example,some sensors output data that is not accurate under high sampling ratesand high G-forces. Hence, by lowering the sampling rate at highG-forces, accuracy is maintained. In one or more embodiments of theinvention, the microcontroller associated with motion capture element111 may sense high G forces and automatically switch the sampling rate.In one or more embodiments, instead of using accelerometers with6G/12G/24G ranges or 2G/4G/8G/16G ranges, accelerometers with 2 ranges,for example 2G and 24G may be utilized to simplify the logic ofswitching between ranges.

One or more embodiments of the invention may transmit the event to amobile device and/or continue to save the events in memory, for examplefor a round of golf or until a mobile device communication link isachieved.

For example, with the sensor mounted in a particular mount, a typicalevent signature is shown in FIG. 13, also see FIG. 15 for comparison oftwo characteristic motion types as shown via patterns or templatesassociated with different pieces of equipment or clothing for example.In one or more embodiments, the microcontroller may execute a patternmatching algorithm to follow the curves for each of the axis and usesegments of 1 or more axis to determine if a characteristic swing hastaken place, in either linear or rotational acceleration or anycombination thereof. If the motion capture data in memory 4601 is withina range close enough to the values of a typical swing as shown in FIG.13, then the motion is consistent with an event. Embodiments of theinvention thus reduce the number of false positives in event detection,after first characterizing the angular and/or linear velocity signatureof the movement, and then utilizing elements of this signature todetermine if similar signatures for future events have occurred.

The motion capture element collects data from various sensors. The datacapture rate may be high and if so, there are significant amounts ofdata that is being captured. Embodiments of the invention may use bothlossless and lossy compression algorithms to store the data on thesensor depending on the particular application. The compressionalgorithms enable the motion capture element to capture more data withinthe given resources. Compressed data is also what is transferred to theremote computer(s). Compressed data transfers faster. Compressed data isalso stored in the Internet “in the cloud”, or on the database using upless space locally.

FIG. 14 illustrates an embodiment of the motion capture element 111 mayinclude an optional LED visual indicator 1401 for local display andviewing of event related information and an optional LCD 1402 that maydisplay a text or encoded message associated with the event. In one ormore embodiments, the LED visual indicator may flash slow yellow for amoderate type of concussion, and flash fast red for a severe type ofconcussion to give a quick overall view of the event without requiringany data communications. In addition, the LED may be asserted with anumber of flashes or other colors to indicate any temperature relatedevent or other event. One or more embodiments may also employ LCD 1402for example that may show text, or alternatively may display a codedmessage for sensitive health related information that a referee ormedical personnel may read or decode with an appropriate reader app on amobile device for example. In the lower right portion of the figure, theLCD display may produce an encoded message that states “PotentialConcussion 1500 degree/s/s rotational event detect—alert medicalpersonnel immediately”. Other paralysis diagnostic messages or any othertype of message that may be sensitive may be encoded and displayedlocally so that medical personnel may immediately begin assessing theuser/player/boxer without alarming other players with the diagnosticmessage for example, or without transmitting the message over the airwirelessly to avoid interception.

FIG. 15 illustrates an embodiment of templates characteristic of motionevents associated with different types of equipment and/or instrumentedclothing along with areas in which the motion capture sensor personalitymay change to more accurately or more efficiently capture dataassociated with a particular period of time and/or sub-event. As shown,the characteristic push off for a skateboard is shown in accelerationgraphs 1501 that display the X, Y and Z axes linear acceleration androtational acceleration values in the top 6 timelines, wherein timeincreases to the right. As shown, discrete positive x-axis accelerationcaptured is shown at 1502 and 1503 while the user pushes the skateboardwith each step, followed by negative acceleration as the skateboardslows between each push. In addition, y-axis wobbles during each pushare also captured while there is no change in the z axis linearacceleration and no rotational accelerations in this characteristictemplate or pattern of a skateboard push off or drive. Alternatively,the pattern may include a group of threshold accelerations in x atpredefined time windows with other thresholds or no threshold for wobblefor example that the captured data is compared against to determineautomatically the type of equipment that the motion capture element ismounted to or that the known piece of equipment is experiencingcurrently. This enables event based data saving and transmission forexample.

The pattern or template in graphs 1511 however show a running event asthe user slightly accelerates up and down during a running event. Sincethe user's speed is relatively constant there is relatively noacceleration in x and since the user is not turning, there is relativelyno acceleration in y (left/right). This pattern may be utilized tocompare within ranges for running for example wherein the patternincludes z axis accelerations in predefined time windows. Hence, the topthree graphs of graphs 1511 may be utilized as a pattern to notate arunning event at 1512 and 1513. The bottom three graphs may showcaptured data that are indicative of the user looking from side to sidewhen the motion capture element is mounted in a helmet and/or mouthpieceat 1514 and 1515, while captured data 1516 may be indicative of amoderate or sever concussion observed via a rotational motion of highenough angular degrees per second squared. In addition, the sensorpersonality may be altered dynamically at 1516 or at any other thresholdfor example to change the motion capture sensor rate of capture or bitsize of capture to more accurately in amplitude or time capture theevent. This enables dynamic alteration of quality of capture and/ordynamic change of power utilization for periods of interest, which isunknown in the art. In one or more embodiments, a temperature timelinemay also be recorded for embodiments of the invention that utilizetemperature sensors, either mounted within a helmet, mouthpiece or inany other piece of equipment or within the user's body for example.

FIG. 16 illustrates an embodiment of a protective mouthpiece 1601 infront view and at the bottom portion of the figure in top view, forexample as worn in any contact sport such as, but not limited to soccer,boxing, football, wrestling or any other sport for example. Embodimentsof the mouthpiece may be worn in addition to any other headgear with orwithout a motion capture element to increase the motion capture dataassociated with the user and correlate or in any other way combine orcompare the motion data and or events from any or all motion captureelements worn by the user. Embodiments of the mouthpiece and/or helmetshown in FIGS. 2A-B or in any other piece of equipment may also includea temperature sensor for example and as previously discussed.

FIG. 17 illustrates an embodiment of the algorithm utilized by anycomputer in FIG. 1 may display motion images and motion capture data ina combined format. In one or more embodiments, the motion capture dataand any event related start/stop times may be saved on the motioncapture element 111. One or more embodiments of the invention include amotion event recognition and video synchronization system that includesat least one motion capture element that may couple with a user or pieceof equipment or mobile device coupled with the user. The at least onemotion capture element may include a memory, a sensor that may captureany combination of values associated with an orientation, position,velocity, acceleration, angular velocity, and angular acceleration ofthe at least one motion capture element, a communication interface, amicrocontroller coupled with the memory, the sensor and thecommunication interface. The microcontroller may collect data thatincludes sensor values from the sensor, store the data in the memory,analyze the data and recognize an event within the data to determineevent data, transmit the event data associated with the event via thecommunication interface. The system may also include a mobile devicethat includes a computer, a communication interface that may communicatewith the communication interface of the motion capture element to obtainthe event data associated with the event, wherein the computer iscoupled with the communication interface, wherein the computer mayreceive the event data from the computer's communication interface. Thecomputer may also analyze the event data to form motion analysis data,store the event data, or the motion analysis data, or both the eventdata and the motion analysis data, obtain an event start time and anevent stop time from the event. In one or more embodiments, the computermay request image data from camera that includes a video captured atleast during a timespan from the event start time to the event stop timeand display an event video on a display that includes both the eventdata, the motion analysis data or any combination thereof that occursduring the timespan from the event start time to the event stop time andthe video captured during the timespan from the event start time to theevent stop time.

In one or more embodiments, the computer may synchronize based on thefirst time associated with the data or the event data obtained from theat least one motion capture element coupled with the user or the pieceof equipment or the mobile device coupled with the user, and at leastone time associated with the at least one video to create at least onesynchronized event video. In at least one embodiment, the computer maystore the at least one synchronized event video in the computer memorywithout at least a portion of the at least one video outside of theevent start time to the event stop time. According to at least oneembodiment, the computer may display a synchronized event videoincluding both of the event data, motion analysis data or anycombination thereof that occurs during a timespan from the event starttime to the event stop time, and the video captured during the timespanfrom the event start time to the event stop time.

In one or more embodiments, the computer may transmit the at least onesynchronized event video or a portion of the at least one synchronizedevent video to one or more of a repository, a viewer, a server, anothercomputer, a social media site, a mobile device, a network, and anemergency service.

When a communication channel is available, motion capture data and anyevent related start/stop times are pushed to, or obtained by orotherwise received by any computer, e.g., 101, 102, 102 a, 102 b, 105 at1701. The clock difference between the clock on the sensor and/or inmotion capture data times may also be obtained. This may be performed byreading a current time stamp in the incoming messages and comparing theincoming message time with the current time of the clock of the localcomputer, see also FIG. 18 for example for more detail onsynchronization. The difference in clocks from the sensor and computermay be utilized to request images data from any camera local or pointingat the location of the event for the adjusted times to take into accountany clock difference at 1702. For example, the computer may requestimages taken at the time/location by querying all cameras 103, 104, oron devices 101, 102 and/or 102 a for any or all such devices havingimages taken nearby, e.g., based on GPS location or wireless range,and/or pointed at the event obtained from motion capture element 111. Ifa device is not nearby, but is pointing at the location of the event, asdetermined by its location and orientation when equipped with amagnetometer for example, then it may respond as well with images forthe time range. Any type of camera that may communicate electronicallymay be queried, including nanny cameras, etc. For example, a message maybe sent by mobile computer 101 after receiving events from motioncapture sensor 111 wherein the message may be sent to any cameras forexample within wireless range of mobile device 101. Alternatively, or incombination, mobile device 101 may send a broadcast message asking forany cameras identities that are within a predefined distance from thelocation of the event or query for any cameras pointed in the directionof the event even if not relatively close. Upon receiving the list ofpotential cameras, mobile device 101 may query them for any imagesobtained in a predefined window around the event for example. Thecomputer may receive image data or look up the images locally if thecomputer is coupled with a camera at 1703. In one or more embodiments,the server 172 may iterate through videos and events to determine anythat correlate and automatically trim the videos to correspond to thedurations of the event start and stop times. Although wirelesscommunications may be utilized, any other form of transfer of image datais in keeping with the spirit of the invention. The data from the eventwhether in numerical or graphical overlay format or any other formatincluding text may be shown with or otherwise overlaid onto thecorresponding image for that time at 1704. This is shown graphically attime 1710, i.e., the current time, which may be scrollable for example,for image 1711 showing a frame of a motion event with overlaid motioncapture data 1712. See FIG. 6 for combined or simultaneouslynon-overlaid data for example.

FIG. 18 illustrates an embodiment of the synchronization architecturethat may be utilized by one or more embodiments of the invention.Embodiments may synchronize clocks in the system using any type ofsynchronization methodology and in one or more embodiments the computer160 on the mobile device 101 may determine a clock difference betweenthe motion capture element 111 and the mobile device and synchronize themotion analysis data with the video. For example, one or moreembodiments of the invention provides procedures for multiple recordingdevices to synchronize information about the time, location, ororientation of each device, so that data recorded about events fromdifferent devices can be combined. Such recording devices may beembedded sensors, mobile phones with cameras or microphones, or moregenerally any devices that can record data relevant to an activity ofinterest. In one or more embodiments, this synchronization isaccomplished by exchanging information between devices so that thedevices can agree on a common measurement for time, location, ororientation. For example, a mobile phone and an embedded sensor mayexchange messages across link 1802, e.g., wirelessly, with the currenttimestamps of their internal clocks; these messages allow a negotiationto occur wherein the two devices agree on a common time. Such messagesmay be exchanged periodically as needed to account for clock drift ormotion of the devices after a previous synchronization. In otherembodiments, multiple recording devices may use a common server or setof servers 1801 to obtain standardized measures of time, location, ororientation. For example, devices may use a GPS system to obtainabsolute location information for each device. GPS systems may also beused to obtain standardized time. NTP (Network Time Protocol) serversmay also be used as standardized time servers. Using servers allowsdevices to agree on common measurements without necessarily beingconfigured at all times to communicate with one another.

FIG. 19 illustrates the detection of an event by one of the motioncapture sensors 111, transmission of the event detection, here shown asarrows emanating from the centrally located sensor 111 in the figure, toother motion capture sensors 111 and/or cameras, e.g., on mobile device101, saving of the event motion data and trimming of the video tocorrespond to the event. In one or more embodiments of the invention,some of the recording devices may detect the occurrence of variousevents of interest. Some such events may occur at specific moments intime; others may occur over a time interval, wherein the detectionincludes detection of the start of an event and of the end of an event.These devices may record any combination of the time, location, ororientation of the recording device, for example included in memorybuffer 4610 for example along with the event data, or in any other datastructure, using the synchronized measurement bases for time, location,and orientation described above.

Embodiments of the computer on the mobile device may discard at least aportion of the video outside of the event start time to the event stop,for example portions 1910 and 1911 before and after the event or eventwith predefined pre and post intervals 1902 and 1903. In one or moreembodiments, the computer may command or instruct other devices,including the computer or other computers, or another camera, or thecamera or cameras that captured the video, to discard at least a portionof the video outside of the event start time to the event stop time. Forexample, in one or more embodiments of the invention, some of therecording devices capture data continuously to memory while awaiting thedetection of an event. To conserve memory, some devices may store datato a more permanent local storage medium, or to server 172, only whenthis data is proximate in time to a detected event. For example, in theabsence of an event detection, newly recorded data may ultimatelyoverwrite previously recorded data in memory, depending on the amount ofmemory in each device that is recording motion data or video data. Acircular buffer may be used in some embodiments as a typicalimplementation of such an overwriting scheme. When an event detectionoccurs, the recording device may store some configured amount of dataprior to the start of the event, near start of pre interval 1902 andsome configured amount of data after the end of the event, near 1903, inaddition to storing the data captured during the event itself, namely1901. Any pre or post time interval is considered part of the eventstart time and event stop time so that context of the event is shown inthe video for example. This gives context to the event, for example theamount of pre time interval may be set per sport for example to enable asetup for a golf swing to be part of the event video even though itoccurs before the actual event of striking the golf ball. The followthrough may be recorded as per the amount of interval allotted for thepost interval as well.

Embodiments of the system may include a server computer remote to themobile device and wherein the server computer may discard at least aportion of the video outside of the event start time to the event stopand return the video captured during the timespan from the event starttime to the event stop time to the computer in the mobile device. Theserver or mobile device may combine or overlay the motion analysis dataor event data, for example velocity or raw acceleration data with oronto the video to form event video 1900, which may thus greatly reducethe amount of video storage required as portions 1910 and 1911 may be ofmuch larger length in time that the event in general.

Embodiments of the at least one motion capture element, for example themicroprocessor, may transmit the event to at least one other motioncapture sensor or at least one other mobile device or any combinationthereof, and wherein the at least one other motion capture sensor or theat least one other mobile device or any combination thereof may savedata, or transmit data, or both associated with the event, even if theat least one other motion capture element has not detected the event.For example, in embodiments with multiple recording devices operatingsimultaneously, one such device may detect an event and send a messageto other recording devices that such an event detection has occurred.This message can include the timestamp of the start and/or stop of theevent, using the synchronized time basis for the clocks of the variousdevices. The receiving devices, e.g., other motion capture sensorsand/or cameras may use the event detection message to store dataassociated with the event to nonvolatile storage, for example withinmotion capture element 111 or mobile device 101 or server 172. Thedevices may store some amount of data prior to the start of the eventand some amount of data after the end of the event, 1902 and 1903respectively, in addition to the data directly associated with the event1901. In this way all devices can record data simultaneously, but use anevent trigger from only one of the devices to initiate saving ofdistributed event data from multiple sources.

Embodiments of the computer may save the video from the event start timeto the event stop time with the motion analysis data that occurs fromthe event start time to the event stop time or a remote server may beutilized to save the video. In one or more embodiments of the invention,some of the recording devices may not be in direct communication witheach other throughout the time period in which events may occur. Inthese situations, devices may save complete records of all of the datathey have recorded to permanent storage or to a server. Saving of onlydata associated with events may not be possible in these situationsbecause some devices may not be able to receive event trigger messages.In these situations, saved data can be processed after the fact toextract only the relevant portions associated with one or more detectedevents. For example, multiple mobile devices may record video of aplayer or performer, and upload this video continuously to server 172for storage. Separately the player or performer may be equipped with anembedded sensor that is able to detect events such as particular motionsor actions. Embedded sensor data may be uploaded to the same servereither continuously or at a later time. Since all data, including thevideo streams as well as the embedded sensor data, is generallytimestamped, video associated with the events detected by the embeddedsensor can be extracted and combined on the server. Embodiments of theserver or computer may, while a communication link is open between theat least one motion capture sensor and the mobile device, discard atleast a portion of the video outside of the event start time to theevent stop and save the video from the event start time to the eventstop time with the motion analysis data that occurs from the event starttime to the event stop time. Alternatively, if the communication link isnot open, embodiments of the computer may save video and after the eventis received after the communication link is open, then discard at leasta portion of the video outside of the event start time to the event stopand save the video from the event start time to the event stop time withthe motion analysis data that occurs from the event start time to theevent stop time. For example, in some embodiments of the invention, datamay be uploaded to a server as described above, and the location andorientation data associated with each device's data stream may be usedto extract data that is relevant to a detected event. For example, alarge set of mobile devices may be used to record video at variouslocations throughout a golf tournament. This video data may be uploadedto a server either continuously or after the tournament. After thetournament, sensor data with event detections may also be uploaded tothe same server. Post-processing of these various data streams canidentify particular video streams that were recorded in the physicalproximity of events that occurred and at the same time. Additionalfilters may select video streams where a camera was pointing in thecorrect direction to observe an event. These selected streams may becombined with the sensor data to form an aggregate data stream withmultiple video angles showing an event.

The system may obtain video from a camera coupled with the mobiledevice, or any camera that is separate from or otherwise remote from themobile device. In one or more embodiments, the video is obtained from aserver remote to the mobile device, for example obtained after a queryfor video at a location and time interval.

Embodiments of the server or computer may synchronize the video and theevent data, or the motion analysis data via image analysis to moreaccurately determine a start event frame or stop event frame in thevideo or both, that is most closely associated with the event start timeor the event stop time or both. In one or more embodiments of theinvention, synchronization of clocks between recording devices may beapproximate. It may be desirable to improve the accuracy ofsynchronizing data feeds from multiple recording devices based on theview of an event from each device. In one or more embodiments,processing of multiple data streams is used to observe signatures ofevents in the different streams to assist with fine-grainedsynchronization. For example, an embedded sensor may be synchronizedwith a mobile device including a video camera, but the timesynchronization may be accurate only to within 100 milliseconds. If thevideo camera is recording video at 30 frames per second, the video framecorresponding to an event detection on the embedded sensor can only bedetermined within 3 frames based on the synchronized timestamps alone.In one embodiment of the device, video frame image processing can beused to determine the precise frame corresponding most closely to thedetected event. See FIG. 8 and description thereof for more detail. Forinstance, a shock from a snowboard hitting the ground as shown in FIG.17, that is detected by an inertial sensor may be correlated with theframe at which the geometric boundary of the snowboard makes contactwith the ground. Other embodiments may use other image processingtechniques or other methods of detecting event signatures to improvesynchronization of multiple data feeds.

Embodiments of the at least one motion capture element may include alocation determination element that may determine a location that iscoupled with the microcontroller and wherein the microcontroller maytransmit the location to the computer on the mobile device. In one ormore embodiments, the system further includes a server wherein themicrocontroller may transmit the location to the server, either directlyor via the mobile device, and wherein the computer or server may formthe event video from portions of the video based on the location and theevent start time and the event stop time. For example, in one or moreembodiments, the event video may be trimmed to a particular length ofthe event, and transcoded to any or video quality for example on mobiledevice 101 or on server 172 or on computer 105 or any other computercoupled with the system, and overlaid or otherwise integrated withmotion analysis data or event data, e.g., velocity or acceleration datain any manner. Video may be stored locally in any resolution, depth, orimage quality or compression type to store video or any other techniqueto maximize storage capacity or frame rate or with any compression typeto minimize storage, whether a communication link is open or not betweenthe mobile device, at least one motion capture sensor and/or server. Inone or more embodiments, the velocity or other motion analysis data maybe overlaid or otherwise combined, e.g., on a portion beneath the video,that includes the event start and stop time, that may include any numberof seconds before and/or after the actual event to provide video of theswing before a ball strike event for example. In one or moreembodiments, the at least one motion capture sensor and/or mobiledevice(s) may transmit events and video to a server wherein the servermay determine that particular videos and sensor data occurred in aparticular location at a particular time and construct event videos fromseveral videos and several sensor events. The sensor events may be fromone sensor or multiple sensors coupled with a user and/or piece ofequipment for example. Thus the system may construct short videos thatcorrespond to the events, which greatly decreases video storagerequirements for example.

In one or more embodiments, the microcontroller or the computer maydetermine a location of the event or the microcontroller and thecomputer may determine the location of the event and correlate thelocation, for example by correlating or averaging the location toprovide a central point of the event, and/or erroneous location datafrom initializing GPS sensors may be minimized. In this manner, a groupof users with mobile devices may generate videos of a golfer teeing off,wherein the event location of the at least one motion capture device maybe utilized and wherein the server may obtain videos from the spectatorsand generate an event video of the swing and ball strike of theprofessional golfer, wherein the event video may utilize frames fromdifferent cameras to generate a BULLET TIME® video from around thegolfer as the golfer swings. The resulting video or videos may betrimmed to the duration of the event, e.g., from the event start time tothe event stop time and/or with any pre or post predetermined timevalues around the event to ensure that the entire event is capturedincluding any setup time and any follow through time for the swing orother event.

In at least one embodiment, the computer may request or broadcast arequest from camera locations proximal to the event or oriented to viewthe event, or both, and may request the video from the at least onecamera proximal to the event, wherein the video includes the event. Forexample, in one or more embodiments, the computer on the mobile devicemay request at least one image or video that contains the event from atleast one camera proximal to the event directly by broadcasting arequest for any videos taken in the area by any cameras, optionally thatmay include orientation information related to whether the camera wasnot only located proximally to the event, but also oriented or otherwisepointing at the event. In other embodiments, the video may be requestedby the computer on the mobile device from a remote server. In thisscenario, any location and/or time associated with an event may beutilized to return images and/or video near the event or taken at a timenear the event, or both. In one or more embodiments, the computer orserver may trim the video to correspond to the event duration and again,may utilize image processing techniques to further synchronize portionsof an event, such as a ball strike with the corresponding frame in thevideo that matches the acceleration data corresponding to the ballstrike on a piece of equipment for example.

Embodiments of the computer on the mobile device or on the server maydisplay a list of one or more times at which an event has occurred orwherein one or more events has occurred. In this manner, a user may findevents from a list to access the event videos in rapid fashion.

Embodiments of the invention may include at least one motion capturesensor that is physically coupled with the mobile device. Theseembodiments enable any type of mobile phone or camera system with anintegrated sensor, such as any type of helmet mounted camera or anymount that includes both a camera and a motion capture sensor togenerate event data and video data.

In one or more embodiments of the invention, the system enablesintegration of motion event data and video event data. FIG. 1illustrates core elements of embodiments of such a system. Motion eventdata may be provided by one or more motion capture elements 111, whichmay be attached to user 150 at location L1, to a piece of equipment 110,or to a mobile device 130. These motion capture elements may include oneor more sensors that measure motion values such as orientation,position, velocity, acceleration, angular velocity, and angularacceleration. The motion capture elements may also include a memory, forstoring capture data, and a microprocessor for analyzing this data. Theymay also include a communication interface for communicating with otherdevices and for transferring motion capture data. The communicationinterface may be wired or wireless. It may include for example, withoutlimitation: a radio for a wireless network such as for exampleBluetooth, Bluetooth Low Energy, 802.11, or cellular networks; a networkinterface card for a LAN or WAN wired network using a protocol such asfor example Ethernet; a serial interface such as for example RS232 orUSB; or a local bus interface such as for example ISA, PCI, or SPI.

In some embodiments the microprocessor coupled with the motion captureelement may collect data from the sensor, store the data in its memory,and possibly analyze the data to recognize an event within the data. Itmay then transmit the raw motion data or the event data via the attachedwired or wireless communication interface. This raw motion data or eventdata may include other information such an identifier of the motioncapture element, the user, or the equipment, and an identifier of thetype of event detected by the motion capture element.

In some embodiments the system may also include one or more computers105 (a laptop or desktop computer), 160 (a mobile phone CPU), or othercomputers in communication with sensors or cameras. FIG. 1A illustratespossible components of an embodiment of a computer processor or“computer” 160 integrated into a mobile device. Computers may have acommunication interface 164 that can communicate with the communicationinterfaces of one or more motion capture elements 111 to receive theevent data associated with motion events. Computers may also have wiredcommunication interfaces to communicate with motion capture elements orwith other components or other computers. One or more embodiments mayuse combinations of wired and wireless communication interfaces. Thecomputer may receive raw motion data, and it may analyze this data todetermine events. In other embodiments the determination of events mayoccur in the motion capture element 111, and the computer (such as 105or 160) may receive event data. Combinations of these two approaches arealso possible in some embodiments.

In some embodiments the computer or computers may further analyze eventdata to generate motion analysis data. This motion analysis data mayinclude characteristics of interest for the motion recorded by themotion capture element or elements. One or more computers may store themotion data, the event data, the motion analysis data, or combinationsthereof for future retrieval and analysis. Data may be stored locally,such as in memory 162, or remotely as in database 172. In someembodiments the computer or computers may determine the start time andend time of a motion event from the event data. They may then requestimage data from a camera, such as 103, 130, 130 a, or 130 b, that hascaptured video or one or more images for some time interval at leastwithin some portion of the time between this event start time and eventend time. The term video in this specification will include individualimages as well as continuous video, including the case of a camera thattakes a single snapshot image during an event interval. This video datamay then be associated with the motion data to form a portion of a videoand motion capture integration system. As shown camera 103 at locationL2 has field of view F2, while camera on mobile device 102 a at positionL3 has field of view F3. For cameras whose field of view overlaps anevent, intelligent selection of the best video is achieved in at leastone embodiment via image analysis. Sensors 107, such as environmentalsensors may also be utilized to trigger events or at least be queriedfor values to combine with event videos, for example wind speed,humidity, temperature, sound, etc. In other embodiments, the system mayquery for video and events within a predefined area around location L1,and may also use field of view of each camera at L2 and L3 to determineif the video has potentially captured the event.

In some embodiments the request of video from a camera may occurconcurrently with the capture or analysis of motion data. In suchembodiments the system will obtain or generate a notification that anevent has begun, and it will then request that video be streamed fromone or more cameras to the computer until the end of the event isdetected. In other embodiments, the user may gesture by tapping ormoving a motion capture sensor a predefined number of time to signifythe start of an event, for example tapping a baseball bat twice againstthe batter's shoes may signify the start of an at bat event.

In other embodiments the request of video may occur after a camera (suchas 103) has uploaded its video records to another computer, such as aserver 172. In this case the computer will request video from the server172 rather than directly from the camera.

In some embodiments the computer or computers may perform asynchronization of the motion data and the video data. Varioustechniques may be used to perform this synchronization. FIG. 1Eillustrates an embodiment of this synchronization process. Motioncapture element 111 includes a clock 12901, designated as “Clock S”.When an event occurs, the motion capture element generates timestampeddata 12910, with times t_(1S), t_(2S), t_(3S), etc. from Clock S. Camera103 captures video or images of some portion of the event. The cameraalso includes a clock 12902, designated as “Clock I”. The cameragenerates timestamped image data 12911, with times t_(1I), t_(2I),t_(3I), etc. from Clock I. Computer 105 receives the motion data and theimage data. The computer contains another clock 12903, designated as“Clock C”. The computer executes a synchronization process that consistsof aligning the various time scales from the three clocks 12912, 12913,and 12914. The result of this synchronization is a correspondencebetween the clocks 12915. In general the alignment of clocks may requiregenerating clock differences as well as stretching or shrinkingtimescales to reflect different clock rates. In some embodimentsindividual data frames or image frames may not be timestamped, butinstead the first or last frame may be associated with a time and theremay be a known clock rate for frame capture. In other embodiments datamay not include a timestamp, but may be transmitted immediately uponcapture so that the computer can estimate the time of capture based ontime of receipt and possible network latency.

In the embodiment illustrated in FIG. 1E, the computer generates asynchronized event video 12920, which will include at least some of themotion data, event data, or motion analysis data obtained or calculatedbetween the event start time and the event end time, and some of thevideo or images obtained from the camera within this start time and endtime. This synchronized event video provides an augmented, integratedrecord of the event that incorporates both motion data and image data.In the example shown the synchronization process has assigned the firstimage frame F₁ to time t_(5C), and the first motion data frame D₁ totime t_(6C). In this example the image frame capture rate is twice thedata frame capture rate.

One or more embodiments of the invention may also obtain at least onevideo start time and at least one video stop time associated with atleast one video from at least one camera. One of the computers on thesystem may optionally synchronize the event data, the motion analysisdata or any combination thereof with the at least one video based on afirst time associated with the data or the event data obtained from theat least one motion capture element coupled with the user or the pieceof equipment or the mobile device coupled with the user and at least onetime associated the at least one video to create at least onesynchronized event video. Embodiments command at least one camera totransfer the at least one synchronized event video captured at leastduring a timespan from within the event start time to the event stoptime to another computer without transferring at least a portion of thevideo that occurs outside of the at least one video that occurs outsideof the timespan from within the event start time to the event stop timeto the another computer. One or more embodiments also may overlay asynchronized event video including both of the event data, the motionanalysis data or any combination thereof that occurs during the timespanfrom the event start time to the event stop time and the video capturedduring the timespan from the event start time to the event stop time.

In one or more embodiments of the invention, a computer may discardvideo that is outside of the time interval of an event, measured fromthe start time of an even to the stop time of an event. This discardingmay save considerable storage resources for video storage by saving onlythe video associated with an event of interest. FIG. 19 illustrates anembodiment of this process. Synchronized event video 1900 includesmotion and image data during an event, 1901, and for some predefined preand post intervals 1902 and 1903. Portions 1910 and 1911 before andafter the pre and post intervals are discarded.

In one or more embodiments, a computer that may receive or processmotion data or video data may be a mobile device, including but notlimited to a mobile telephone, a smartphone 120, a tablet, a PDA, alaptop 105, a notebook, or any other device that can be easilytransported or relocated. In other embodiments, such a computer may beintegrated into a camera 103, 104, and in particular it may beintegrated into the camera from which video data is obtained. In otherembodiments, such a computer may be a desktop computer or a servercomputer 152, including but not limited to virtual computers running asvirtual machines in a data center or in a cloud-based service. In someembodiments, the system may include multiple computers of any of theabove types, and these computers may jointly perform the operationsdescribed in this specification. As will be obvious to one skilled inthe art, such a distributed network of computers can divide tasks inmany possible ways and can coordinate their actions to replicate theactions of a single centralized computer if desired. The term computerin this specification is intended to mean any or all of the above typesof computers, and to include networks of multiple such computers actingtogether.

In one or more embodiments, a microcontroller associated with a motioncapture element 111, and a computer 105, may obtain clock informationfrom a common clock and to set their internal local clocks 12901 and12903 to this common value. This methodology may be used as well to setthe internal clock of a camera 12902 to the same common clock value. Thecommon clock value may be part of the system, or it may be an externalclock used as a remote time server. Various techniques may be used tosynchronize the clocks of individual devices to the common clock,including Network Time Protocol or other similar protocols. FIG. 18illustrates an embodiment of the invention that uses an NTP or GPSserver 1801 as a common time source. By periodically synchronizingclocks of the devices to a common clock 1801, motion capture data andvideo data can be synchronized simply by timestamping them with the timethey are recorded.

In one or more embodiments, the computer may obtain or create a sequenceof synchronized event videos. The computer may display a compositesummary of this sequence for a user to review the history of the events.FIG. 20 illustrates an embodiment of this process. Video clips 1900 a,1900 b, 1900 c, 1900 d, and 1900 e are obtained at different timescorresponding to different events. Video or motion data prior to theseevents, 1910 and 1911, and between these events, 1910 a, 1901 b, 1910 c,and 1910 d, is removed. The result is composite summary 2000. In someembodiments this summary may include one or more thumbnail imagesgenerated from the videos. In other embodiments the summary may includesmaller selections from the full event video. The composite summary mayalso include display of motion analysis or event data associated witheach synchronized event video. In some embodiments, the computer mayobtain or accept a metric, such as a metric associated with the at leastone synchronized event video, and display the value of this metric foreach event. The display of these metric values may vary in differentembodiments. In some embodiments the display of metric values may be abar graph, line graph, or other graphical technique to show absolute orrelative values. In other embodiments color-coding or other visualeffects may be used. In other embodiments the numerical values of themetrics may be shown. Some embodiments may use combinations of theseapproaches. In the example illustrated in FIG. 20 the metric value forSpeed associated with each event is shown as a graph with circles foreach value.

In one or more embodiments, the computer may accept selection criteriafor a metric 2010 of interest associated with the motion analysis dataor event data of the sequence of events. For example, a user may providecriteria such as metrics 2010 exceeding a threshold, or inside a range,or outside a range, 2011. Any criteria may be used that may be appliedto the metric values 2010, 2011 of the events. In response to theselection criteria, the computer may display only the synchronized eventvideos or their summaries (such as thumbnails) that meet the selectioncriteria. FIG. 20 illustrates an embodiment of this process. A selectioncriterion 2010 has been provided specifying that Speed 2020 should be atleast 5, 2021. The computer responds by displaying 2001 with Clips 1through Clip 4; Clip 5 has been excluded based on its associated speed.

In one or more embodiments, the computer may determine a matching set ofsynchronized event videos that have values associated with the metricthat pass the selection criteria, and display the matching set ofsynchronized event videos or corresponding thumbnails thereof along withthe value associated with the metric for each of the matching set ofsynchronized event videos or the corresponding thumbnails.

In some embodiments of the invention, the computer may sort and ranksynchronized event videos for display based on the value of a selectedmetric. This sorting and ranking may occur in some embodiments inaddition to the filtering based on selection criteria as describedabove. The computer may display an ordered list of metric values, alongwith videos or thumbnails associated with the events. Continuing theexample above as illustrated in FIG. 20, if a sorted display based onSpeed is specified, the computer generates 2002 with clips reorderedfrom highest speed to lowest speed. In one or more embodiments, thecomputer may generate a highlight reel, or fail reel, or both, forexample of the matching set of synchronized events, that combines thevideo for events that satisfy selection criteria. Such a highlight reelor fail reel, in at least one embodiment, may include the entire videofor the selected events, or a portion of the video that corresponds tothe important moments in the event as determined by the motion analysis.In some embodiments the highlight reel or fail reel may include overlaysof data or graphics on the video or on selected frames showing the valueof metrics from the motion analysis. Such a highlight reel or fail reelmay be generated automatically for a user once the user indicates whichevents to include by specifying selection criteria. In some embodimentsthe computer may allow the user to edit the highlight reel or fail reelto add or remove events, to lengthen or shorten the video shown for eachevent, to add or remove graphic overlays for motion data, or to addspecial effects or soundtracks.

In one or more embodiments, a video and motion integration system mayincorporate multiple cameras, such as cameras 103, 104, 130, 130 a, and130 b. In such embodiments, a computer may request video correspondingto an event timeframe from multiple cameras that captured video duringthis timeframe. Each of these videos may be synchronized with the eventdata and the motion analysis data as described above for thesynchronization of a single video. Videos from multiple cameras mayprovide different angles or views of an event, all synchronized tomotion data and to a common time base.

In one or more embodiments with multiple cameras, the computer mayselect a particular video from the set of possible videos associatedwith an event. The selected video may be the best or most complete viewof the event based on various possible criteria. In some embodiments thecomputer may use image analysis of each of the videos to determine thebest selection. For example, some embodiments may use image analysis todetermine which video is most complete in that the equipment or peopleof interest are least occluded or are most clearly visible. In someembodiments this image analysis may include analysis of the degree ofshaking of a camera during the capture of the video, and selection ofthe video with the most stable images. FIG. 21 illustrates an embodimentof this process. Motion capture element 111 indicates an event, which isrecorded by cameras 103 a and 103 b. Computer 105 retrieves video fromboth cameras. Camera 103 b has shaking 2101 during the event. Todetermine the video with least shaking, Computer 105 calculates aninter-frame difference for each video. For example, this difference mayinclude the sum of the absolute value of differences in each pixel's RGBvalues across all pixels. This calculation results in frame differences2111 for camera 103 b and 2110 for camera 103 a. The inter-framedifferences in both videos increase as the event occurs, but they areconsistently higher in 2111 because of the increased shaking. Thecomputer is thus able to automatically select video 2110 in process2120. In some embodiments a user 2130 may make the selection of apreferred video, or the user may assist the computer in making theselection by specifying the most important criteria.

In one or more embodiments of the invention, the computer may obtain orgenerate notification of the start of an event, and it may then monitorevent data and motion analysis data from that point until the end of theevent. For example, the microcontroller associated with the motioncapture element may send event data periodically to the computer oncethe start of an event occurs; the computer can use this data to monitorthe event as it occurs. In some embodiments this monitoring data may beused to send control messages to a camera that can record video for theevent. In embodiments with multiple cameras, control messages could bebroadcast or could be send to a set of cameras during the event. In atleast one embodiment, the computer may send a control message local tothe computer or external to the computer to at least one camera.

In some embodiments these control messages sent to the camera or camerasmay modify the video recording parameters of the at least one videobased on the data associated with the event, including the motionanalysis data. FIG. 22 illustrates an embodiment of this process. Motioncapture sensor 111 transmits motion data to computer 105, which thensends control messages to camera 103. In the example shown, equipment110 is initially at rest prior to an event. The computer detects thatthere is no active event, and sends message 2210 to the camerainstructing it to turn off recording and await events. Motion 2201begins and the computer detects the start of the event; it sends message2211 to the camera to turn on recording, and the camera begins recordingvideo frames 2321 at a normal rate. Motion increases rapidly at 2202 andthe computer detects high speed; it sends message 2212 to the camera toincrease its frame rate to capture the high speed event. The cameragenerates video frames 2322 at a high rate. By using a higher frame rateduring rapid motion, the user can slow the motion down during playbackto observe high motion events in great detail. At 2203 the eventcompletes, and the computer sends message 2213 to the camera to stoprecording. This conserves camera power as well as video memory betweenevents.

More generally in some embodiments a computer may send control messagesto a camera or cameras to modify any relevant video recording parametersin response to event data or motion analysis data. These recordingparameters may for example include the frame rate, resolution, colordepth, color or grayscale, compression method, and compression qualityof the video, as well as turning recording on or off.

In one or more embodiments of the invention, the computer may accept asound track, for example from a user, and integrate this sound trackinto the synchronized event video. This integration would for exampleadd an audio sound track during playback of an event video or ahighlight reel or fail reel. Some embodiments may use event data ormotion analysis data to integrate the sound track intelligently into thesynchronized event video. For example, some embodiments may analyze asound track to determine the beats of the sound track based for instanceon time points of high audio amplitude. The beats of the sound track maythen be synchronized with the event using event data or motion analysisdata. For example such techniques may automatically speed up or slowdown a sound track as the motion of a user or object increases ordecreases. These techniques provide a rich media experience with audioand visual cues associated with an event.

In one or more embodiments, a computer may playback a synchronized eventvideo on one or more displays. These displays may be directly attachedto the computer, or may be remote on other devices. Using the event dataor the motion analysis data, the computer may modify the playback to addor change various effects. These modifications may occur multiple timesduring playback, or even continuously during playback as the event datachanges.

As an example, in some embodiments the computer may modify the playbackspeed of a synchronized event video based on the event data or themotion analysis data. For instance, during periods of low motion theplayback may occur at normal speed, while during periods of high motionthe playback may switch to slow motion to highlight the details of themotion. Modifications to playback speed may be made based on anyobserved or calculated characteristics of the event or the motion. Forinstance, event data may identify particular sub-events of interest,such as the striking of a ball, beginning or end of a jump, or any otherinteresting moments. The computer may modify the playback speed to slowdown playback as the synchronized event video approaches thesesub-events. This slowdown could increase continuously to highlight thesub-event in fine detail. Playback could even be stopped at thesub-event and await input from the user to continue. Playback slowdowncould also be based on the value of one or more metrics from the motionanalysis data or the event data. For example, motion analysis data mayindicate the speed of a moving baseball bat or golf club, and playbackspeed could be adjusted continuously to be slower as the speed of suchan object increases. Playback speed could be made very slow near thepeak value of such metrics.

FIG. 23 illustrates an embodiment of variable speed playback usingmotion data. Motion capture element 111 records motion sensorinformation including linear acceleration on the x-axis 1501. (Ingeneral many additional sensor values may be recorded as well; thisexample uses a single axis for simplicity.) Event threshold 2301 definesevents of interest when the x-axis linear acceleration exceeds thisthreshold. Events are detected at 1502 and 1503. Event 1502 begins at2302 and completes at 2303. On playback, normal playback speed 2310 isused between events. As the beginning of event 1502 approaches, playbackspeed is reduced starting at 2311 so the user can observe pre-eventmotion in greater detail. During the event playback speed is very slowat 2313. After the event end at 2303 playback speed increases graduallyback to normal speed at 2312.

In other embodiments, modifications could be made to other playbackcharacteristics not limited to playback speed. For example, the computercould modify any or all of playback speed, image brightness, imagecolors, image focus, image resolution, flashing special effects, or useof graphic overlays or borders. These modifications could be made basedon motion analysis data, event data, sub-events, or any othercharacteristic of the synchronized event video. As an example, asplayback approaches a sub-event of interest, a flashing special effectcould be added, and a border could be added around objects of interestin the video such as a ball that is about to be struck by a piece ofequipment.

In embodiments that include a sound track, modifications to playbackcharacteristics can include modifications to the playbackcharacteristics of the sound track. For example such modifications mayinclude modifications to the volume, tempo, tone, or audio specialeffects of the sound track. For instance the volume and tempo of a soundtrack may be increased as playback approaches a sub-event of interest,to highlight the sub-event and to provide a more dynamic experience forthe user watching and listening to the playback.

In one or more embodiments of the invention, a computer may use eventdata or motion analysis data to selectively save only portions of videostream or recorded video. This is illustrated in FIG. 19 where videoportions 1910 and 1911 are discarded to save only the event video 1901with a pre-event portion 1902 and a post-event portion 1903. Suchtechniques can dramatically reduce the requirements for video storage byfocusing on events of interest. In some embodiments, a computer may havean open communication link to a motion capture sensor while an event isin progress. The computer may then receive or generate a notification ofa start of an event, and begin saving video at that time; it may thencontinue saving video until it receives or generates a notification ofthe end of the event. The computer may also send control messages to acamera or cameras during the event to initiate and terminate saving ofvideo on the cameras, as illustrated in FIG. 22.

In other embodiments the computer may save or receive videos and eventdata after the event has completed, rather than via a live communicationlink open through the event. In these embodiments the computer cantruncate the saved video to discard a portion of the video outside theevent of interest. For example, a server computer 152 may be used as arepository for both video and event data. The server could correlate theevent data and the video after upload, and truncate the saved video toonly the timeframes of interest as indicated by the event data.

In one or more embodiments a computer may use image analysis of a videoto assist with synchronization of the video with event data and motionanalysis data. For example, motion analysis data may indicate a strongphysical shock (detected, for instance, using accelerometers) that comesfor instance from the striking of a ball like a baseball or a golf ball,or from the landing of a skateboard after a jump. The computer mayanalyze the images from a video to locate the frame where this shockoccurs. For example, a video that records a golf ball may use imageanalysis to detect in the video stream when the ball starts moving; thefirst frame with motion of the golf ball is the first frame after theimpact with the club, and can then be synchronized with the shock in thecorresponding motion analysis data. This is illustrated in FIG. 24 whereimage analysis of the video identifies golf ball 2401. The frame whereball 2401 starts moving, indicated in the example as Impact Frame 34,can be matched to a specific point in the motion analysis data thatshows the shock of impact. These video and motion data frames can beused as key frames; from these key frames the video frames thatcorrespond most closely to the start and end of an event can be derived.

In one or more embodiments, a computer may use image analysis of a videoto generate a metric from an object within the video. This metric mayfor instance measure some aspect of the motion of the object. Suchmetrics derived from image analysis may be used in addition to or inconjunction with metrics obtained from motion analysis of data frommotion sensors. In some embodiments image analysis may use any ofseveral techniques known in the art to locate the pixels associated withan object of interest. For instance, certain objects may be known tohave specific colors, textures, or shapes, and these characteristics canbe used to locate the objects in video frames. As an example, a golfball may be known to be approximately round, white, and of textureassociate with the ball's materials. Using these characteristics imageanalysis can locate a golf ball in a video frame. Using multiple videoframes the approximate speed and rotation of the golf ball could becalculated. For instance, assuming a stationary or almost stationarycamera, the location of the golf ball in three-dimensional space can beestimated based on the ball's location in the video frame and based onits size. The location in the frame gives the projection of the ball'slocation onto the image plane, and the size provides the depth of theball relative to the camera. By using the ball's location in multipleframes, and by using the frame rate which gives the time differencebetween frames, the ball's velocity can be estimated.

FIG. 24 illustrates this process where golf ball is at location 2401 inframe 2403, and location 2402 in frame 2404. The golf ball has an iconthat can be used to measure the ball's distance from the camera and itsrotation. The velocity of the ball can be calculated using the distancemoved between frames and the time gap between frames. As a simpleexample if the ball's size does not change appreciably between frames,the pixel difference between the ball's locations 2402 and 2401 can betranslated to distance using the camera's field of view and the ball'sapparent size. The frame difference shown in the example is 2 frames(Frame 39 to Frame 41), which can be converted to time based on theframe rate of the camera. Velocity can then be calculated as the ratioof distance to time.

In one or more embodiments, a computer can access previously storedevent data or motion analysis data to display comparisons between a newevent and one or more previous events. These comparisons can be for thesame user and same equipment over time, or between different users anddifferent equipment. These comparisons can provide users with feedbackon their changes in performance, and can provide benchmarks againstother users or users of other types or models of equipment. As anillustration, FIG. 1D shows device 101 receiving event data associatedwith users 150 and 152. This data is transmitted to computer 105 fordisplay and comparison. A user 151 can compare performance of user 150and 152, and can track performance of each user over time.

FIGS. 1F and 1G illustrate an embodiment of the system that enablesbroadcasting images with augmented motion data including at least onecamera 103, 104, configured to receive images associated with orotherwise containing at least one motion capture element 111, a computer140, and a wireless communication interface 106 configured to receivemotion capture data from the at least one motion capture element. In oneor more embodiments, the computer 140 is coupled with the wirelesscommunication interface 106 and the at least one camera, and thecomputer 140 is configured to receive the motion capture data after acommunications link to the at least one motion capture element 111 isavailable and capable of receiving information for example as shown inFIG. 1F, and FIG. 1G at 1191. Embodiments also may receive the motioncapture data after an event or periodically request the motion capturedata, at 1192 of FIG. 1G, as per FIG. 1F from the at least one motioncapture element 111 as per FIG. 1. This enables the system to withstandcommunication link outages, and even enables the synchronization ofvideo with motion capture data in time at a later point in time, forexample once the motion capture element is in range of the wirelessreceiver. Embodiments may receive motion capture data from at least onemotion capture element 111, for example from one user 150 or multipleusers 150, 151, 152 or both. One or more embodiments also may recognizethe at least one motion capture element 111 associated with a user 150or piece of equipment 110 and associate the at least one motion captureelement 111 with assigned locations on the user 150 or the piece ofequipment 110, at 1193 of FIG. 1G. For example, when a user performs amotion event, such as swinging, hitting, striking, or any other type ofmotion-related activity, the system is able to associate the motionevent with locations on the user, or equipment such as a golf club,racket, bat, glove, or any other object, to recognize, or identify, theat least one motion capture element. Embodiments may also receive dataassociated with the at least one motion capture element 111 via thewireless communication interface at 1194 as per FIG. 1G, and also mayreceive one or more images of the user associated with the motioncapture element at 1195 of FIG. 1G from the at least one camera 103,104. Such data and images allow the system to, for example, obtain anarray of information associated with users, equipment, and events and/orto output various performance elements therefrom. One or moreembodiments may also analyze the data to form motion analysis data at1196 of FIG. 1G. Motion analysis data, for example, allows the system toobtain and/or output computer performance information to for examplebroadcast to the users, to viewers, coaches, referees, networks, and anyother element capable of receiving such information. Motion analysisdata for example may show motion related quantitative data in agraphical or other easy to understand viewing format to make the datamore understandable to the user than for example pure numerical lists ofacceleration data. For example, as shown in FIG. 1G, embodiments of theinvention may also at 1197, draw a three-dimensional overlay onto atleast one of the one or more images of the user, a rating onto at leastone of the one or more images of the user, at least one power factorvalue onto at least one of the one or more images of the user, acalculated ball flight path onto at least one of the one or more imagesof the user, a time line showing points in time along a time axis wherepeak values occur onto at least one of the one or more images of theuser, an impact location of a ball on the piece of equipment onto atleast one of the one or more images of the user, a slow motion displayof the user shown from around the user at various angles at normal speedonto at least one of the one or more images of the user, or anycombination thereof associated with the motion analysis data. One ormore embodiments may also broadcast the images at 1198, to amultiplicity of display devices including television 143, mobile devices101, 102, 102 a, 102 b, computer 105, and/or to the Internet 171. Forexample, the multiplicity of display devices may include televisions,mobile devices, or a combination of both televisions and mobile devices,or any other devices configured to display images.

FIG. 1H shows an embodiment of the processing that occurs on thecomputer. In one or more embodiments the application is configured toprompt a first user to move the motion capture sensor to a firstlocation at 1181 and accept a first motion capture data from the motioncapture sensor at the first location via the wireless communicationinterface, prompt the first user to move the motion capture sensor to asecond location or rotation at 1182, accept a second motion capture dataor rotation from the motion capture sensor at the second location viathe wireless communication interface, calculate a distance or rotationat 1183 between the first and second location or rotation based on thefirst and second motion capture data. The distance may include a heightor an arm length, or a torso length, or a leg length, or a wrist tofloor measurement, or a hand size or longest finger size or both thehand size and longest finger size of the first user, or any combinationthereof or any other dimension or length associated with the first user.Distances may be calculated by position differences, or by integratingvelocity or doubly integrating acceleration, or in any other mannerdetermining how far apart or how much rotation has occurred depending onthe types of internal sensors utilized in the motion capture sensor asone skilled in the art will appreciate. For example, embodiments of theinvention may prompt the user to hold the motion capture sensor in theuser's hand and hold the hand on top of the user's head and then promptthe user to place the sensor on the ground, to calculate the distancetherebetween, i.e., the height of the user. In another example, thesystem may prompt the user to hold the sensor in the hand, for exampleafter decoupling the sensor from a golf club and then prompt the user toplace the sensor on the ground. The system then calculates the distanceas the “wrist to floor measurement”, which is commonly used in sizinggolf clubs for example. Embodiments of the system may also prompt theuser to move the sensor from the side of the user to various positionsor rotational values, for example to rotate the sensor while at orthrough various positions to calculate the range of motion, for examplethrough flexion, extension, abduction, adduction, lateral rotation,medial rotation, etc. Any of these characteristics, dimensions,distances, lengths or other parameters may be stored in Table 180 ashown in FIG. 1B and associated with the particular user. In one or moreembodiments, the application is further configured to prompt the firstuser to couple the motion capture sensor to a piece of equipment at 1184and prompt the first user to move the piece of equipment through amovement at 1185, for example at the speed intended to be utilized whenplaying a particular sport or executing a particular movement associatedwith a piece of sporting equipment. The application is furtherconfigured to accept a third motion capture data from the motion capturesensor for the movement via the wireless communication interface andcalculate a speed for the movement at 1186 based on the third motioncapture data. In one or more embodiments, the application is configuredto calculate a correlation at 1187 between the distance and the speedfor the first user with respect to a plurality of other users andpresent information associated with an optimally fit or sized piece ofequipment associated with other users. For example, the system maychoose a second user having a maximum value correlation or correlationto the first user within a particular range, for example at least withthe distance and the speed of the first user. The system may then searchthrough the closest parameter users and choose the one with the maximumor minimum performance or score or distance of hitting, etc., and selectthe make/model of the piece of equipment for presentation to the user.For example, one such algorithm may for example provide a list of makeand model of the lowest scoring golf shaft, or longest hitting baseballbat associated with a similar size/range of motion/speed user.Embodiments of the user may use the speed of the user through motions orthe speed of the equipment through motions or both in correlationcalculations for example. The information for the best performingmake/model and size of the piece of equipment is presented to the userat 1188.

In one or more embodiments, the microcontroller coupled to a motioncapture element may communicate with other motion capture sensors tocoordinate the capture of event data. The microcontroller may transmit astart of event notification to another motion capture sensor to triggerthat other sensor to also capture event data. The other sensor may saveits data locally for later upload, or it may transmit its event data viaan open communication link to a computer while the event occurs. Thesetechniques provide a type of master-slave architecture where one sensorcan act as a master and can coordinate a network of slave sensors.

In one or more embodiments of the invention, a computer may use eventdata to discover cameras that can capture or may have captured video ofthe event. Such cameras need to be proximal to the location of theevent, and they need to be oriented in the correct direction to view theevent. In some systems the number, location, and orientation of camerasis not known in advance and must be determined dynamically. As an eventoccurs, a computer receiving event data can broadcast a request to anycameras in the vicinity of the event or oriented to view the event. Thisrequest may for example instruct the cameras to record event video andto save event video. The computer may then request video from theseproximal and correctly oriented cameras after the event. This isillustrated in FIG. 1 where computer 160 may receive notification of anevent start from motion capture element 111. Computer 160 may broadcasta request to all cameras in the vicinity such as 103, 104, 130, 130 a,and 130 b. As an example, cameras 103 and 130 may be proximal andcorrectly oriented to view the event; they will record video. Camera 104may be too far away, and cameras 130 a and 130 b may be close enough butnot aiming at the event; these cameras will not record video.

In some embodiments one or more videos may be available on one or morecomputers (such as servers 152, or cloud services) and may be correlatedlater with event data. In these embodiments a computer such as 152 maysearch for stored videos that were in the correct location andorientation to view an event. The computer could then retrieve theappropriate videos and combine them with event data to form a compositeview of the event with video from multiple positions and angles.

In one or more embodiments, a computer may obtain sensor values fromother sensors, such as the at least one other sensor, in addition tomotion capture sensors, where these other sensors may be locatedproximal to an event and provide other useful data associated with theevent. For example, such other sensors may sense various combinations oftemperature, humidity, wind, elevation, light, sound and physiologicalmetrics (like a heartbeat or heart rate). The computer may retrieve, orlocally capture, these other values and save them, for example alongwith the event data and the motion analysis data, to generate anextended record of the event during the timespan from the event start tothe event stop. In one or more embodiments, the types of eventsdetected, monitored, and analyzed by the microprocessor, the computer,or both, may include various types of important motion events for auser, a piece of equipment, or a mobile device. These important eventsmay include critical or urgent medical conditions or indicators ofhealth. Some such event types may include motions indicative ofstanding, walking, falling, heat stroke, a seizure, violent shaking, aconcussion, a collision, abnormal gait, and abnormal or non-existentbreathing. Combinations of these event types may also be detected,monitored, or analyzed.

In one or more embodiments, the computer 160 of FIG. 1 may be embeddedin any device, including for example, without limitation, a mobiledevice, a mobile phone, a smart phone, a smart watch, a camera, a laptopcomputer, a notebook computer, a table computer, a desktop computer, ora server computer. Any device that may receive data from one or moresensors or one or more cameras, and process this data, may function asthe computer 160. In one or more embodiments, the computer 160 may be adistributed system with components embedded in several devices, wherethese components communicate and interact to carry out the functions ofthe computer. These components may be any combination of devices,including the devices listed above. For example, in one or moreembodiments the computer 160 may include a mobile phone and servercomputer combination, where the mobile phone initially receives sensordata and detects events, and then forwards event data to a servercomputer for motion analysis. Embodiments may use distributed processingacross devices in any desired manner to implement the functions ofcomputer 160. Moreover, in one or more embodiments the computer 160 orportions of the computer 160 may be embedded in other elements of thesystem. For example, the computer 160 may be embedded in one of thecameras like camera 104. In one or more embodiments the computer 160,the motion capture element 111, and the camera 104 may all be physicallyintegrated into a single device, and they may communicate using localbus communication to exchange data. For example, in one or moreembodiments computer 160, motion capture element 111, and camera 104 maybe combined to form an intelligent motion-sensing camera that canrecognize events and analyze motion. Such an intelligent motion-sensingcamera may be mounted for example on a helmet, on goggles, on a piece ofsports equipment, or on any other equipment. In one or more embodimentsthe computer 160 may include multiple processors that collaborate toimplement event detection and motion analysis. For example, one or moreembodiments may include a camera with an integrated motion captureelement and a processor, where the camera captures video, the motioncapture element measures motion, and the processor detects events. Theprocessor that detects events may then for example generate asynchronized event video, forward this synchronized event video to amobile device such as 120 and a database such as 172, and then discardvideo from the camera 104 that is outside the event timeframe associatedwith the synchronized event video. Mobile device 120 may for exampleinclude another processor that receives the synchronized event video,optionally further analyzes it, and displays it on the mobile devicescreen.

In at least one embodiment, the at least one motion capture element 111may be contained within a motion capture element mount, a mobile device,a mobile phone, a smart phone, a smart watch, a camera, a laptopcomputer, a notebook computer, a tablet computer, a desktop computer, aserver computer or any combination thereof.

In one or more embodiments, motion capture element 111 may use anysensor or combination of sensors to detect events. For example, in oneor more embodiments, motion capture 111 may include or contain anaccelerometer, and recognition of events may for example includecomparing accelerometer values to a threshold value; high accelerationvalues may correspond to high forces acting on the motion captureelement, and thus they may be indicative of events of interest. Forexample, in an embodiment used to monitor motion of an athlete, highacceleration values may correspond to rapid changes in speed ordirection of motion; these changes may be events of primary interest insome embodiments. Video captured during time periods of highacceleration may for example be selected for highlight reels or failreels, and other video may be discarded. In one or more embodiments thatinclude an accelerometer, recognition of events may include comparingchanges in acceleration over time to a threshold; rapid changes in aspecified time interval may for example indicate shocks or impacts orother rapid movements that correspond to desired events.

Motion analysis of sensor data and event data in one or more embodimentsmay include comparing motion to an optimal motion trajectory. Such anoptimal motion trajectory for example may represent the most efficientpath to achieve the resulting position, velocity, or othercharacteristic of the motion. As an example, FIG. 25 illustrates anembodiment of the system that measures and analyzes swings of a baseballbat. A motion variable of interest for a baseball swing is the speed ofthe bat over time. This speed typically is low at the beginning of theswing, and then increases rapidly up to the point of impact with thebaseball. Other embodiments may use different motion variables ofinterest, such as for example, without limitation, position,acceleration, orientation, angular velocity, angular acceleration, orany values derived from these quantities or from the sensor data. In theexample shown in FIG. 25, the motion capture element measures actualtrajectory 2501 for bat speed over time for a particular swing, with thestarting point 2502 being the beginning of the swing, and the endingpoint 2503 being the point of impact with the baseball. This swing maybe considered as inefficient since the bat speed peaks prior to theimpact point 2503; thus for example the batter may have wasted energy byaccelerating the bat too quickly, but being unable to sustain the topspeed. In one or more embodiments the system may identify or select anoptimal trajectory 2520 that represents an optimal path from thestarting point 2502 to the ending point 2503, and may then generate acomparison 2530 between the optimal trajectory 2520 and the actualtrajectory 2501. The criterion or criteria for optimality may varyacross embodiments. For example in the embodiment shown in FIG. 25 theoptimality criterion may be maximum efficiency in the sense of using theleast amount of energy to achieve the desired endpoint for the swing.Other embodiments may use other criteria, such as shortest time, leaststress on certain joints, or any other criteria for optimality.

One or more embodiments may determine optimal trajectory 2520 from amechanical model 2510 of the action resulting in the motion. In theexample shown in FIG. 25, mechanical model 2510 may for example be abiomechanical model of the system consisting of the batter and the bat;such a model may for example model the batter's joints, muscles, andenergy sources. The optimal trajectory may be calculated for example byoptimizing the mechanical model to find a trajectory that maximizes thequantity or quantities of interest. For illustration of such anapproach, consider for example a simplified 1-dimensional model of abaseball swing with a bat travelling on a trajectory x(t). The batterapplies force f (t) to the bat, which has mass m, and the biomechanicalmodel specifies additional forces on the bat based for example tensionand resistance in the user's muscles and joints. The additional forcesmay be modeled for example as B(x (t), {dot over (x)}(t)) for somebiomechanical function B. We assume for illustration that the bat beginsat position x(0)=x₀ with initial velocity v(0)=0, and that thetrajectory must be completed in 1 second and reach final positionx(1)=x₁ in order to contact the ball. We also assume that the finalspeed v(1)=v₁ is given. The bat trajectory satisfies the differentialequation:m{umlaut over (x)}=f(t)+B(x(t),{dot over (x)}(t));x(0)=x ₀ ;{dot over(x)}(0)=0

The force f(t) determines the trajectory of the bat. To determine anoptimal trajectory, we assume for illustration that the quantity ofinterest is the amount of energy expended by the batter during theswing; this is quantity E=∫₀ ¹f(t){dot over (x)}(t)dt; the optimaltrajectory is the trajectory that minimizes the energy E. In additionthe optimal trajectory must satisfy the constraints x(1)=x₁,v(1)=v₁. Theproblem of finding the optimal trajectory is now completely specified.As will be obvious to one skilled in the art, solving for the optimaltrajectory is a classical problem in optimal control theory, and any ofthe techniques of optimal control theory may be used in one or moreembodiments to determine an optimal trajectory from a model of theobjects of interest.

One or more embodiments may determine optimal trajectory 2520 byanalyzing database 172 to identify trajectories that are high efficiencyor that have high scores on some quantity of interest. An optimaltrajectory may be selected from the high efficiency trajectories in thedatabase, or alternatively a model may be constructed from these highefficiency trajectories, for example using a regression model or otherparametric model to fit the high efficiency trajectories.

Optimal trajectory 2520 is compared at 2530 to actual trajectory 2503,potentially after transforming the optimal trajectory so that it has thesame starting point 2502 and endpoint 2503 as the actual trajectory. Anefficiency metric (or other metric) may then be calculated from thecomparison, representing how closely the actual trajectory correspondsto the optimal trajectory. For example, in the embodiment illustrated inFIG. 25, a correlation coefficient 2540, denoted ρ(actual,optimal), iscalculated between the two trajectories and this correlation coefficientis used as the efficiency metric for the actual trajectory, with anideal trajectory having a correlation 2541 of 1.0. Embodiments may useany desired metric to measure the similarity of an actual trajectory toan optimal trajectory.

In one or more embodiments, a motion variable of interest may forexample be the trajectory of the position of an object of interest. Asan example, in embodiments applied to golf, the trajectory of a golfball after the ball is hit is a trajectory of interest. In embodimentapplied to baseball, for example, the trajectory of the baseball afterthe ball is hit is a trajectory of interest.

In one or more embodiments, a desired trajectory for an object ofinterest is known or may be estimated. For example, in an embodimentthat measures golf swings, the desired trajectory for the golf ball istowards the hole. In baseball, for example, the desired trajectory for abaseball hit by a batter may be for the baseball to be hit fair anddeep. Using video analysis, sensor data, or both, one or moreembodiments may measure the actual trajectory of an object of interest,and compare this actual trajectory to the desired trajectory. Thiscomparison generates a motion metric for the object. Moreover, one ormore embodiments may further measure the initial conditions thatgenerated the observed trajectory. For example, in golf, theorientation, location, and velocity of the clubhead at the time ofimpact with the ball determine the subsequent ball trajectory. Similarlyin baseball the orientation, location, and velocity of the bat at thetime of impact with the ball determine the subsequent ball trajectory(along with the velocity and rotation of the ball as thrown by thepitcher). These initial conditions may be measured as motion metrics aswell, again using sensor data, video analysis, or both. One or moreembodiments may further calculate the changes that would be necessary inthese initial conditions to generate the desired trajectory instead ofthe observed trajectory, and report these changes as additional motionmetrics. FIG. 26 illustrates an example with an embodiment that measuresputting. The putter has a sensor 111 on the grip, which measures themotion of the putter. In addition video camera 104 records thetrajectory of the ball after it is hit. The desired trajectory 2623 forthe ball is towards and into the hole 2602. In this example, the ball2600 is hit at an angle, and the ball travels on actual trajectory 2622,coming to rest at 2601. This trajectory is observed by camera 104 andanalyzed by analysis module 2621. The resulting motion metrics 2630 and2640 provide feedback to the golfer about the putt. Metrics 2630 arecalculated from the sensor on the putter; they show for example that thespeed of the putter at impact was 3 mph, and that the putter facerotated 1 degree to the right from the backstroke to the forward stroke.Analysis of the trajectory 2622 determines that the required correctionto the putt to put the ball in the hole requires aiming 5 degrees moreto the left, and increasing the putter speed by 10%. The analysis ofchanges in initial conditions needed to change a trajectory to a desiredtrajectory may for example take into account any other factors that mayinfluence the trajectory, such as in this case the speed or the slope ofthe putting green.

In the example shown in FIG. 26, the synchronized event video isdisplayed on mobile device 101, which may for example be a mobile phoneor any other device. In the illustrative display, a video or a stillimage 2650 of the putting event is displayed, along with graphicsshowing the actual trajectory and the desired trajectory for the ball.Graphics 2631 shown the motion metrics 2630 measured by sensor 111. Textbox 2641 is displayed under the synchronized event video 2650; itcontains the corrections 2640 needed to achieve the desired trajectory.One or more embodiments may combine synchronized event videos and motionanalysis data in any desired manner for display on a mobile device or onany other viewing device; for example, motion analysis data may bedisplayed as overlays onto the video, as graphics or text displayed nextto the video, or as graphics or text that may be shown separately on adifferent screen or a different tab. In one or more embodiments thecamera 104 may be a camera that is integrated into mobile device 101. Inone or more embodiments the motion capture element 111 may be integratedinto mobile device 101.

In the example shown in FIG. 26, the desired trajectory 2623 for thegolf ball is a curved path, rather than a straight line between initialball position 2600 and the hole 2602. This curved path may be calculatedby the trajectory analysis 2621 based on knowledge of thecharacteristics of the putting green. One or more embodiments may obtaina model of an area of activity in which trajectories occur, and use thismodel to calculate the desired trajectory and the changes in initialconditions need to generate this desired trajectory. A model of an areamay include for example, without limitation, the topography of the area,the coefficients of friction of the area at various points, any forceslike friction or other forces between the area and the objects ofinterest, and any other physical properties of the area. For example incalculating the desired trajectory for a putt, the topography of thegreen as well as the “speed” of the green (corresponding roughly to thecoefficient of friction) may affect the desired trajectory. One or moreembodiments may obtain models of an area of activity from any source,including for example from a 3d scanner that has measured the topographyof a green, or from weather data that may indicate for example whether agreen is wet or dry (which affects its speed). Models of areas ofactivity in one or more embodiments may incorporate elements such as forexample the shape of surfaces, the materials of the surfaces, frictionalor viscous forces, coefficients of static friction, sliding friction,and rolling friction, effects of wind or altitude on air resistance andforces from air, surface textures that may affect motion, or any otherphysical factors affecting motion of objects of interest.

Returning to FIG. 1, one or more embodiments of the system may includeone or more computers coupled to the database 172. In one or moreembodiments, any processor or collection of processors in the system maybe coupled to the database, and may be used to retrieve and analyze datain the database. Computers or processors in one or more embodiments ofthe system may have multiple functions; for example, a mobile device mayhave a computer that interfaces with a motion capture element embeddedin the mobile device; this computer may also control a camera, and itmay access the database and analyze information stored in the database.In FIG. 1 for example, laptop 105 may be a database analysis computer.Mobile device 120 may be a database analysis computer. Camera 104 may bea database analysis computer if it includes a processor. Motion captureelement 111 may also serve as a database analysis computer. A databaseanalysis computer may for example be incorporated into one or more of amobile device, a smart watch, a camera, a desktop computer, a servercomputer. One or more database analysis computers may access thesynchronized event videos stored in database 172, and may generate anydesired metrics, reports, models, alerts, graphics, comparisons, trends,charts, presentations, or other data from the data in the database.

As an example of the analyses that may be performed on the database,FIG. 27 illustrates an embodiment of the system that may be used togenerate a model of an area of activity, such as the model discussedabove in conjunction with the trajectory analyses of the embodiment inFIG. 26. In this embodiment, the system captures a potentially largenumber of putts on a putting green using motion capture element 111 inthe grip of a putter, and using video camera 104 that records video ofthe ball trajectories such as trajectories 2701. The trajectories ofputts that are recorded may for example include putts starting atdifferent ball locations, and putts that were successful (into the hole)as well as those that were unsuccessful. Data on the putts along withthe videos of the ball trajectories are stored in database 172. Acomputer executes analysis module 2703 to generate a topographic modelof the putting green 2704. This analysis process 2703 determines theslope of the green at each point (or at representative points) using theobserved curvature of each putt trajectory, combined with data on theinitial speed and direction of the putter at the time of impact. Asdiscussed above, a model of an area of activity may also include factorssuch as coefficients of friction or other physical forces; analysismodule 2703 may also in one or more embodiments calculate these factorsto develop a more complete model of the area of activity. The model 2704of the putting green may then be provided to the system to calculate adesired trajectory and compare it a specific actual trajectory, asillustrated in FIG. 26 and as discussed above.

As another example of the analyses that may be performed on thedatabase, one or more embodiments may analyze the database 172 todetermine the time or location of accidents, potentially along withother information collected about the accident. The results of thisanalysis may for example include real-time alerts or other alerts toemergency services, reports to safety agencies, warnings to other peopleor groups at risk, and graphics that may be used to highlight riskyareas based on accident rates in those areas. FIG. 28 illustrates anembodiment that performs accident analysis. In this embodiment, amotorcyclist wears a motorcycle helmet 2801 that is equipped with motioncapture element 111, camera 104, and processor 160. These components inthe helmet 2801 are connected for example by local busses or by apersonal area wireless network (or both). In this example, the processor160 may detect crashes of the motorcycle. For example, a crash may bedetected by a rapid spike in acceleration, or by a sudden reduction inspeed. When processor 160 detects a crash event, the processor generatesa synchronized event video for the crash, which includes data 2802 aboutthe location, speed, and acceleration of the crash, and selected videoframes 2803 showing the view from the helmet just before the crash. Theprocessor may for example discard video captured during normal ridingand only save crash video, in order to conserve video memory and reducetransfer times. In this example, the helmet may transmit thesynchronized event video for the crash (2803 and 2802) immediately to anemergency service 2804 to alert the authorities about the crash so theycan assess the severity and respond at the required location.

In addition to the real-time alert sent to the emergency service 2804,the synchronized event video is uploaded to database 172. A computer (ornetwork of computers) analyzes this database using accident analysismodule 2810, to determine locations that have unusually high accidentrates. One or more embodiments may perform analyses of the database 172to identify locations involving any activities of interest. In theexample of FIG. 28, the analysis 2810 identifies two high-accidentlocations. It outputs graphics that are overlaid onto map 2811, showinghigh-accident areas 2812 and 2813. These graphics and identifications ofhigh-accident areas may be provided for example to safety authorities,or to other drivers to alert them of hazardous areas. One or moreembodiments may generate various graphics from analysis of the database,such as overlays onto maps, videos, images, charts, graphs, or reports.As another illustrative example, one or more embodiments may monitormovements of persons for example in a house, office, building, or cityblock, and may analyze the database of the synchronized event videos forthese movements to generate graphics showing areas of high activity. Oneor more embodiments may also for example analyze the database toidentify areas of unexpected activity or unexpected types of motionwithin an area.

Continuing with the embodiment illustrated in FIG. 28, in this example asecond motorcyclist 2820 is equipped with a smart helmet 2821 that mayreceive information from database 172 and display information on theface shield of the helmet. The smart helmet 2821 is equipped with aposition tracking system, such as for example a GPS. Therefore thehelmet processor can determine when the motorcyclist 2820 is approachinga location with a high accident rate based on the accident reportsstored in database 172. When the motorcyclist nears a high accidentarea, an alert message 2822 is displayed on the face shield of thehelmet. One or more embodiments may broadcast data from database 172 toany persons or groups that may benefit from the data, including forexample groups at risk for accidents as shown in FIG. 28. One or moreembodiments may select data from the database that is useful toparticular persons or groups based for example on sensors associatedwith those persons or groups, such as for example the GPS sensor on themotorcyclist 2820.

Another example of database analysis is analyzing motion data todetermine if an object has been used in legitimate way. FIG. 29illustrates an example embodiment that analyzes motion data associatedwith the use of a baseball bat. The bat is equipped with a motioncapture element 111. The legitimate, expected use for the bat is hittinga baseball 2901. The embodiment obtains a signature 2911 for the motiondata associated with this legitimate use. In this illustrative example,the signature tracks the magnitude of the angular rotation of the bat,which may for example be captured by a gyroscope in motion captureelement 111. For the legitimate use of hitting a baseball, the angularvelocity is expected to rise rapidly up to the point of impact, and thendrop as momentum is transferred from the bat to the ball; however theangular velocity does not drop to zero since the bat continues swingingpast the point of impact. In contrast, the example considers anon-legitimate use for the bat of trying to chop down a tree 2902 withthe bat. In this non-legitimate use, the angular velocity signature 2912drops close to zero after impact, since the bat cannot continue to moveforward once it hits the tree 2902. This difference in post-impactangular velocity signatures allows the system to differentiate betweenlegitimate and non-legitimate use of the bat. Angular velocity data formultiple events is stored in database 172, and the analysis 2920 reviewsthis data against the signatures 2911 and 2912. If all or mostsignatures match 2911, the system determines that the use 2921 has beenlegitimate; otherwise the system determines that the use 2922 has notbeen legitimate. One or more embodiments may use any desired signatureson any motion data, including video, to differentiate between legitimateand non-legitimate use of a piece of equipment. One or more embodimentsmay be used by equipment manufacturers, distributors, or servicecenters, for example, to determine whether a warranty claim forequipment damage is valid; for example, if equipment use has beenlegitimate, a warranty claim may be valid, but if the use has beennon-legitimate, the warranty claim may be invalid.

The meaning of legitimate use may vary depending on the application foran embodiment. For example, in one or more embodiments the legitimateuse for equipment may be determined by a contract or by a user manual.In other embodiments legitimate use may correspond to expected use,normal use, typical use, routine use, use under certain conditions suchas environment conditions, or any other application-specificinterpretation of legitimate. Embodiments of the invention may be usedfor any differentiation between one type of use and another type of use.Any uses of motion capture data or synchronized event videos todifferentiate between multiple types of use for equipment is in keepingwith the spirit of the invention.

One or more embodiments of the invention may be used to measure ormonitor the range of motion of a user. Returning to FIG. 1, one or moreembodiments of the mobile device 120 may for example prompt and acceptmotion inputs from a given motion capture sensor as moved by the user tospecific locations or through rotations, to measure a dimension or sizeof user 150, or range of motion. For example, the app may prompt theuser to move motion capture sensor 111 by hand, after removal from pieceof equipment 110, between the user's other hand and shoulder. Thedistance between the two points is shown as length “L”, e.g., of theuser's arm. In addition, the system may prompt the user for a range ofmotion, shown as “ROM” with the sensor held in the other hand and withthe sensor moved by the user as prompted from the side to the highestpoint with the arm extended, or with the wrist rotated while at the samelocation, to measure that specific range of motion for that body part.Embodiments may optionally only measure a range of motion and determine“L” via as the center point of the radius of the range of motion aswell. The system may also measure the speed, shown as “S” at the sametime or with piece of equipment 110, e.g., after motion capture sensor111 is again coupled with the piece of equipment as prompted by thesystem for example, or alternatively with an existing motion capturesensor mounted on the piece of equipment via mount 192. Embodiments mayalso then utilize the same sensor to capture motion data from the pieceof equipment, for example to further optimize the fit of and/or furthercollect motion capture data. Embodiments may provide information relatedto the optimal fit or otherwise suggest purchase of a particular pieceof sporting equipment. Embodiments may utilize correlation or otheralgorithms or data mining of motion data for size, range of motion,speed of other users to maximize the fit of a piece of equipment for theuser based on other user's performance with particular equipment. Forexample, this enables a user of a similar size, range of motion andspeed to data mine for the best performance equipment, e.g., longestdrive, lowest putt scores, highest winning percentage, etc., associatedwith other users having similar characteristics.

Embodiments that measure a user's range of motion may further track thisdata in the database 172. This range of motion data may be analyzed overtime to monitor the user's progress, to suggest equipment changes ortherapies, or to provide a warning of potential problems. For example,one or more embodiments of the invention may suggest exercises and/orstretches that would improve performance to a predicted performancelevel based on other users performance data and suggest equipment thatwould be appropriate for an increase strength or flexibility so thatusers can “grow into” or “improve into” equipment. Through use of therange of motion and date/time fields, and using the differencestherebetween, the range of motion over time may be shown to increase,decrease or stay the same. In addition, other embodiments of theinvention may be utilized over time to detect tight areas or areas thatmay be indicative of injury for example and alert the user in a similarmanner. For example if the range of motion or speed S decreases, overtime, the user may be alerted or a massage may be automaticallyscheduled for example. The user may be alerted in any manner to thechanges and exercises or stretches or other equipment may be suggestedto the user. One or more embodiments of the invention may be utilizedfor gait analysis for fitting of shoes, for example for improvedstanding, walking or running. Any combination of these may be determinedand/or otherwise derived and utilized for example compared to baselinesor thresholds or ranges to determine where problems exist or where apiece of equipment provides adequate or optimal fit.

Another example of database analysis is analyzing motion data todetermine trends in range of motion, for example for a joint of a user.FIG. 30 illustrates an embodiment with motion capture elementsintegrated into a knee brace. In this example, the knee brace containstwo motion capture elements: motion capture element 111 a is locatedabove the knee, and motion capture element 111 b is located below theknee. By measuring the orientation of these two motion capture elements,the system can determine the angle 3001 of the knee joint. In thisembodiment, the angle 3001 is monitored periodically or continuously andstored in database 172. A computer uses range of motion analysis 3002 toanalyze trends in the user's range of motion of time. This results inchart 3010, which tracks the actual range of motion 3011 over time, andmay optionally compare the range of motion to a threshold value 3012.

One or more embodiments that measure the range of motion of a joint of auser may use at least two motion capture elements located on oppositesides of the joint in order to measure the angle of the joint. The angleof the joint may be measured for example by measuring the orientation ofeach of the two motion capture elements, and then calculating therotation that transforms one of these orientations into the otherorientation. One or more embodiments may use any desired sensors tomeasure orientation or to measure the relative orientation of each ofthe two motion capture elements. For example, in one or more embodimentsthe two motion capture elements on opposite sides of a joint may includean accelerometer and a magnetometer; these two sensor provide sufficientinformation to measure orientation in three dimensional space regardlessof the user's orientation, when the user is not moving. Theaccelerometer shows the direction of the gravitational field, and themagnetometer shows the direction of the earth's magnetic field. However,accelerometer readings provide accurate orientation information onlywhen the user is not accelerating. Therefore one or more embodiments mayfurther incorporate a rate gyroscope into the motion capture elements totrack changes in orientation over time while the user is moving. Thesesensor configurations are only illustrative; embodiments may employ anysensors or combinations of sensors to measure the range of motion of ajoint.

One or more embodiments that measure the range of motion of a joint of auser may send an alert message if the range of motion exceeds a targetvalue or a threshold value. FIG. 30 illustrates an embodiment with athreshold value for knee joint rotation 3012 set to 70°, which may forexample represent the maximum safe rotation of the knee joint. If theactual rotation exceeds the threshold value, alert message 3020 is sentby the system, for example to the medical team 3021 monitoring thepatient. Alert messages may be sent to medical teams, to the user, tothe user's family or caregivers, or generally to any persons or systemswanted to monitor the range of motion. The illustrative alert message3020 indicates that the range of motion exceeds the threshold; alertmessages in one or more embodiments may include any additionalinformation from database 172 for example, including the time history3011 of the range of motion.

One or more embodiments of the system may incorporate one or more motioncapture elements that include a microphone to measure audio signals. Oneor more embodiments may incorporate microphones installed in mobiledevices, for example in mobile phones, or microphones integrated intocameras. These embodiments may use audio data captured by themicrophones to support event detection and motion analysis. For example,FIG. 31 illustrates a variant of the embodiment shown in FIG. 29 thatuses motion data analysis to determine whether a baseball bat is hittinga baseball or is hitting a different object. In the embodiment shown inFIG. 31, motion capture element 111 installed on a baseball bat includesan accelerometer 3101 and a microphone 3102. When the bat impacts thebaseball 2901, the accelerometer values 3110 show a shock 3111 from theimpact event, where acceleration increases rapidly and then rapidlyoscillates from the vibration after the impact shock. However, a similaraccelerometer signature may occur for impact of the bat with otherobjects. For example, when the bat impacts the tree 2902, theaccelerometer impact signature 3121 is very similar to the signature3111. Therefore this illustrative embodiment may not be able to reliabledifferentiate between true ball impact events and false positives causedby impact with other objects. Audio signals captured by the microphone3102 are used by this embodiment to differentiate between true ballimpact events and false positives. The Fourier transform 3112 of theaudio signal for the ball impact shows a relatively high peak audiofrequency 3113 (ω₁). In comparison the transformed audio signal for thetree impact has a much lower peak audio frequency 3123 (ω₂). Theembodiment may therefore determine whether the impact was with a ball orwith another object by using the audio signal in conjunction with theaccelerometer impact signature. One or more embodiments may use audiosignals captured by microphones in motion capture elements or in otherdevices to improve event detection, to differentiate between true eventsand false positives, and to improve motion analysis.

FIG. 32 illustrates an embodiment of the system that receives othervalues associated with temperature, humidity, wind, elevation, lightsound and heart rate, to correlate the data or event data with the othervalues to determine a false positive, type of equipment the motioncapture element is coupled with or a type of activity.

As shown in FIG. 32, one or more embodiments may include at least onemotion capture element 111 that may couple with a user 3204, 3205, 3206or piece of equipment 3210, 3220, 3230, or mobile device coupled withthe user 3204, 3205, 3206. In at least one embodiment, the at least onemotion capture element 111 includes a memory, such as a sensor datamemory, and a sensor that may capture any combination of valuesassociated with an orientation, position, velocity, acceleration (linearand/or rotational), angular velocity and angular acceleration, of the atleast one motion capture element 111, for example associated with theuser 3204, 3205, 3206 or the piece of equipment 3210, 3220, 3230. In atleast one embodiment, the at least one motion capture element 111 mayinclude a first communication interface or at least one other sensor,and a microcontroller or microprocessor 3270 coupled with the memory,the sensor and the first communication interface. In one or moreembodiments, the microprocessor 3270 may be part of the at least onemotion capture element 111, or an external element bi-directionallycoupled with the at least one motion capture element 111.

According to at least embodiment of the invention, the microcontrollermay be the microprocessor 3270.

By way of one or more embodiments, the first communication interface mayreceive one or more other values associated with a temperature,humidity, wind, elevation, light, sound, heart rate, or any combinationthereof. In at least one embodiment, the at least one other sensor maylocally capture the one or more other values associated with thetemperature, humidity, wind, elevation, light sound, heart rate, or anycombination thereof or of any other environmental or physiologicalsensors. At least one embodiment of the invention may include both thefirst communication interface and the at least one other sensor andobtain sensor values from either or both.

In at least one embodiment, the microprocessor 3270 may correlate thedata or the event data with the one or more other values associated withthe temperature, humidity, wind, elevation, light, sound, heart rate, orany combination thereof. As such, in at least one embodiment, themicroprocessor 3270 may correlate the data or the event data with theone or more other values to determine one or more of a false positiveevent, a type of equipment that the at least one motion capture element111 is coupled with, and a type of activity indicated by the data or theevent data.

For example, in one or more embodiments, the at least one motion captureelement 111 may determine, sense or calculate, at 3240, wherein thespeed is 60 mph, the altitude is 500 feet, the pattern is an S-pattern,the surrounding temperature is 55 degrees Fahrenheit, and the user'sheart rate is 100 beats per minute (bpm).

Given the data determined 3240 from the sensor and from the firstcommunication interface and/or the at least one other sensor, in atleast one embodiment, the microprocessor 3270 may determine wherein thesurrounding temperature is relatively mild, and the elevation is not atsea level but not too high. In one or more embodiments, given the speed,the altitude and the pattern detected, the microprocessor 3270 maydetermine, at 3280, wherein the activity may be skateboarding and thepiece of equipment may include a skateboard. Furthermore, in one or moreembodiments, the microprocessor 3270 may determine wherein given thespeed of 60 mph, the pattern of an S-pattern 3201, and the heart rate of100 bpm, the user 3204 may be a healthy, fit and/or experienced rider.

For example, in one or more embodiments, the at least one motion captureelement 111 may determine, sense or calculate, at 3250, wherein thespeed is 20 mph, the altitude is 0 feet, the pattern 3201 a, thesurrounding temperature is 75 degrees Fahrenheit, and the user's heartrate is 95 bpm.

Given the data determined 3250 from the sensor, and from the firstcommunication interface and/or the at least one other sensor, in atleast one embodiment, the microprocessor 3270 may determine wherein thetemperature is relatively warm, and the elevation is at sea level. Inone or more embodiments, given the speed, the altitude, the patterndetected and the temperature, the microprocessor 3270 may determine, at3280, wherein the activity may be a water sport, such as surfing and thepiece of equipment is may be a surf board or any another type of watersport equipment. Furthermore, in one or more embodiments, themicroprocessor 3270 may determine wherein given the speed of 20 mph, thepath or pattern 3201 a, and the heart rate of 95 bpm, the user 3205 maybe a very healthy, fit and experienced surfer.

For example, in one or more embodiments, the at least one motion captureelement 111 may determine, sense or calculate, at 3260, wherein thespeed is 40 mph, the altitude is 7,000 feet, the pattern 3201 b, thesurrounding temperature is 25 degrees Fahrenheit, and the user's heartrate is 150 bpm.

Given the data determined 3260 from the sensor, and from the firstcommunication interface and/or the at least one other sensor, in atleast one embodiment, the microprocessor 3270 may determine wherein thetemperature is relatively cold, and the elevation is relatively high,for example a high mountain or hill. In one or more embodiments, giventhe speed, the altitude, the pattern detected and the temperature, themicroprocessor 3270 may determine, at 3280, wherein the activity may beskiing or snowboarding or any other snow activity and the piece ofequipment may be skis or a snowboard or another type of snow equipment.Furthermore, in one or more embodiments, the microprocessor 3270 maydetermine wherein given the speed of 40 mph, the pattern 3201 b, and theheart rate of 150 bpm, the user 3206 may be unhealthy, unfit and/orinexperienced.

In one or more embodiments, even if the motion sensor data is basicallythe same, i.e., all three pieces of equipment undergo approximately thesame “S” pattern motion, 3201, 3201 a and 3201 b, then based on theother sensor values, e.g., elevation, altitude, temperature, audio,heart rate, humidity or any other environmental or physiological value,the type of activity and type of equipment that the sensor is coupledwith is determined. In addition, the sensor(s) or computer(s) in thesystem may broadcast for other sensors to save their data for a definedevent that is detected, even if the other sensors do not detect theevent themselves. Furthermore, the sensor(s) or computer(s) in thesystem may request for videos in the vicinity, for example with a givenfield of view 3290, 3290 a, 3290 b to create event videos that areconcise videos from a predetermined amount of time before and after anevent detection. In this manner, great amounts of bandwidth and time forvideo transfer are saved.

In one or more embodiments, the microprocessor 3270 may detect the typeof equipment the at least one motion capture sensor or element 111 iscoupled with or the type of activity the at least one motion sensor 111is sensing through the correlation to differentiate a similar motion fora first type of activity with respect to a second type of activity, forexample at 3280. In at least one embodiment, the at least one motioncapture sensor 111 may differentiate the similar motion based on the oneor more values associated with temperature, humidity, wind, elevation,light, sound, heart rate, or any combination thereof from 3240, 3250 and3260. Specifically, even if all three pieces of equipment or activitiesundergo a particular motion, embodiments of the invention enable adetermination of what type of equipment and activity that similar or thesame motion sensor data may be associated with for example.

By way of one or more embodiments, the microprocessor 3270 may detectthe type of equipment or the type of activity through the correlation todifferentiate a similar motion for a first type of activity, such assurfing or skateboarding, with respect to a second type of activity,such as snowboarding or skiing, as discussed above. In at least oneembodiment, the microprocessor 3270 may differentiate the similar motionbased on the temperature or the altitude or both the temperature and thealtitude. In at least one embodiment, the microprocessor 3270 mayrecognize a location of the sensor on the piece of equipment 3210, 3220,3230 or the user 3204, 3205, 3206 based on the data or event data. Inone or more embodiments, the microprocessor 3270 may collect data thatincludes sensor values from the sensor based on a sensor personalityselected from a plurality of sensor personalities. In at least oneembodiment, the sensor personality may control sensor settings tocollect the data in an optimal manner with respect to a specific type ofmovement or the type of activity associated with a specific piece ofequipment or type of clothing.

For example, a first type of activity may include skateboarding, asecond type of activity may include surfing, and a third type ofactivity may include snowboarding. As shown in FIG. 32, in at least oneembodiment, wherein the activity is skateboarding, the user orskateboarder 3204 is coupled to, attached to, riding, or holding thepiece of equipment or skateboard 3210 in a windy or S-pattern 3201. Inone or more embodiments, wherein the second type of activity is surfing,the user or surfer 3205 is coupled to, attached to, riding, or holdingthe piece of equipment or surf board 3220 in pattern 3201 a. In at leastone embodiment, wherein the third type of activity is snowboarding, theuser or skateboarder 3206 is coupled to, attached to, riding, or holdingthe piece of equipment or snowboard 3230 in a downhill pattern 3201 b.

According to one or more embodiments, the least one motion captureelement 111 may couple with the user 3204, 3205, 3206 or the piece ofequipment 3210, 3220, 3230, wherein via the sensor and/or the at leastone other sensor, alone or in combination, the at least one motioncapture element 111 may determine the one or more values or the one ormore other values associated with the user 3204, 3205, 3206 or the pieceof equipment 3210, 3220, 3230 or the surroundings thereof, as 3240,3250, 3260, respectively.

In at least one embodiment of the invention, the at least one motioncapture element 111 and/or the microprocessor 3270 may determine, senseor calculate, from the sensor, and from the first communicationinterface and/or the at least one other sensor a user's posture, theuser's stability, the user's balance, the location of the user's feetand hands on the piece of equipment, or any combination thereof. Assuch, in at least one embodiment, the microprocessor 3270 may determinewhether the user is holding, standing, kneeling or sitting on the pieceof equipment, to correlate the different values in determining the typeof activity, such as snowboarding versus skiing or surfboarding versuswater skiing, the type of piece of equipment, such as a board versusskis, and the user's level of expertise. For example, in one or moreembodiments, the at least one motion capture element 111 and/or themicroprocessor 3270 may determine, sense or calculate, from the sensor,and from the first communication interface and/or the at least one othersensor an angular movement from the user and/or from the piece ofequipment, such as a twist of the user's body, such that themicroprocessor 3270 may determine whether the user's legs are movingindependently or whether the user's legs are locked together indetermining whether the activity is skiing or snowboarding. As such, inat least one embodiment of the invention, the one or more values fromthe sensor, the first communication interface and/or the at least oneother sensor enable the microprocessor 3270 to determine whether thepiece of equipment includes a single piece of equipment or multiplepieces of equipment.

In one or more embodiments of the invention, the at least one motioncapture element 111 and/or the microprocessor 3270 may determine, senseor calculate, from the sensor and from the first communication interfaceand/or the at least one other sensor a sound of the piece of equipmenton a particular surface, a distance from the piece of equipment to thesurface or into the surface, an amount of friction between the piece ofequipment and the surface, or any combination thereof. As such, in atleast one embodiment, the microprocessor 3270 may determine whether thesound is associated with gravel, water, snow, or any other surface,whether the piece of equipment is flat on the surface, is partiallysubmerged in the surface or is above the surface, and the amount offriction detected between the piece of equipment and the surface for adetermined period of time. In at least one embodiment, at least onemotion capture element 111 and/or the microprocessor 3270 may determine,sense or calculate, from the sensor and from the first communicationinterface and/or the at least one other sensor a shape of surfaces orterrains, the materials of the surfaces or terrains, frictional orviscous forces on the surface or terrains, coefficients of staticfriction between the at least one piece of equipment and the surface orterrain, sliding friction on the surface or terrain, and rollingfriction the surface or terrain, effects of wind or altitude on airresistance and forces from air, surface or terrains textures that mayaffect motion, or any other physical factors affecting motion of theuser and/or the at least one piece of equipment.

As such, in one or more embodiments, the microprocessor 3270, forexample at 3280, may correlate the different values in determining thetype of activity, the type of piece of equipment, the location of thesurface or terrain, a type of event, and the user's level of expertise.

In one or more embodiments of the invention, the at least one motioncapture element 111 and/or the microprocessor 3270 may determine, senseor calculate, from the sensor and from the first communication interfaceor the at least one other sensor ambient noise and features surroundingthe at least one motion capture element 111. For example, the featuresmay include oxygen level, obstacles, walls, trees, cars, water, or anycombination thereof. As such, in at least one embodiment, themicroprocessor 3270 may determine whether the activity is taking placein a crowded area, whether an event is occurring, such as a competitionincluding a plurality of other users surrounding the user, whether theactivity is taking place in a closed environment or an open environment,or any combination thereof. As such, in one or more embodiments, themicroprocessor 3270, for example at 3280, may correlate the differentvalues in determining the type of activity, the type of piece ofequipment, the surrounding area the activity is taking place in, and thetype of event. For example, in at least one embodiment, from thedetermined surrounding oxygen level, alone or in combination with thevarious other values determined, the microprocessor may determinewherein the user is located in a mountainous area with lower oxygenlevels, or located at sea level.

In at least one embodiment of the invention, the at least one motioncapture element 111 and/or the microprocessor 3270 may determine, senseor calculate, from the sensor and the first communication interface orthe at least one other sensor a specific location of the user and/or thepiece of equipment, for example a specific beach resort, a specificmountain resort or mountain location and a specific type of eventcurrently happening.

For example, in one or more embodiments, the motion capture element 111may obtain from one or more of a repository, a viewer, a server, anothercomputer, a social media site, a mobile device, a network, and anemergency service, external data. As such, in at least one embodiment,the microprocessor 3270 may determine wherein the type of activity ispart of a specific type of event, such as a basketball game, footballgame, or any other sports game, or an athletic competition, such as theOlympics, high school event, college event, etc., based on the externaldata obtained and from the values and the one or more other values. Forexample, in one or more embodiments, the external data may includesocial media posts, news articles, emergency amber alerts, or anycombination thereof. In one or more embodiments, the microprocessor 32and/or the motion capture element 111 may obtain external data from oneor more cameras or other external sensor located in a proximitysurrounding the user and/or the piece of equipment.

According to at least one embodiment, the motion capture element 111and/or the microprocessor 3270 may determine the user's level ofexpertise, the user's fitness level and/or training techniques orsuggestions that the user may benefit from. In one or more embodiments,various levels or degrees of speed, altitude, patterns, heart rates andtemperatures may be detected.

By way of one or more embodiments, the microprocessor 3270 may determinethe false positive event as detect a first value from the sensor valueshaving a first threshold value and detect a second value from the sensorvalues having a second threshold value within a time window. In at leastone embodiment, the microprocessor 3270 may then signify a prospectiveevent, compare the prospective event to a characteristic signalassociated with a typical event and eliminate any false positive events,signify a valid event if the prospective event is not a false positiveevent, and save the valid event in the sensor data memory includinginformation within an event time window as the data.

In one or more embodiments, the microprocessor 3270 may recognize the atleast one motion capture element 111 with newly assigned locations afterthe at least one motion capture element 111 is removed from the piece ofequipment and coupled with a second piece of equipment of a differenttype based on the data or event data.

In at least one embodiment of the invention, the sensor or the computermay include a microphone that records audio signals. In one or moreembodiments, the recognize an event may include determining aprospective event based on the data, and correlating the data with theaudio signals to determine if the prospective event is a valid event ora false positive event. In at least one embodiment, the computer maystore the audio signals in the computer memory with the at least onesynchronized event video if the prospective event is a valid event. Inone or more embodiments, the microprocessor 3270, the computer and/orthe motion capture element 111 may determine if the determined activity,event, location, surface type and/or type of piece of equipment is validor is a false positive based on the correlation of the one or morevalues and one or more other values from one or more of 3240, 3250 and3260. In at least one embodiment, the microprocessor 3270, the computerand/or the motion capture element 111 may determine if the determineactivity, event, location, surface type and/or type of piece ofequipment is valid or is a false positive based on one or more of theexternal data and the sensor or sensors surrounding or coupled with theuser and/or the piece of equipment.

One or more embodiments of the invention includes a plurality of sensortypes that may be integrated within and/or coupled to the at least onemotion sensor 111. In one or more embodiments, the plurality of sensortypes include the sensor and the at least one other sensor, as discussedabove. In at least one embodiment, the microprocessor 3270 may correlatecontent and/or different types of values from the plurality of sensortypes, such as a combination and correlation between at least two sensortypes from the plurality of sensor types, to determine one or more of atype of activity, a type of piece of equipment, a type of event, falsepositive events, a location, a type of terrain or surface, etc. In oneor more embodiments of the invention, the plurality of sensor types,including the sensor and the at least one other sensor, may include oneor more of sound sensors, temperature sensors, vibration sensors, airquality sensors, water quality sensors, weather sensors, locationsensors such as navigation and global positioning systems, pressuresensors, motion sensors and biological sensors.

For example, by way of at least one embodiment, the sound, temperatureand vibration sensors may include a sensor that detects Earth's seismicactivity at a particular location and time. In one or more embodiments,the sound, temperature and vibration sensors may include a defectdetector sensor that identifies an equipment crash or derail, such asthe at least one piece of equipment, car, train, etc., from the wheelsor surface of the equipment. In at least one embodiment, the sound,temperature and vibration sensors may include a sound sensor thatdetects extreme or mass sounds indicating a particular or unique orpredefined event, for example sounds obtained from a plurality oflocations external to the at least one motion capture element 111, suchas a reaction to a touchdown during a football game or a reaction to anyother game, event or competition. In one or more embodiments, the sound,temperature and vibration sensors may include a temperature sensor, suchas a temperature sensor for the equipment that detects concentrations oftraffic and movement patterns in a hot or cold weather scenario. Assuch, for example, the at least one motion capture element 111 and/orthe microprocessor 3270 may determine an indication of a mass or clusterof equipment trapped in a particular radius or area at a particular timeof day.

For example, by way of at least one embodiment, the air and waterquality sensors or the weather sensors may include a sensor that detectsair quality, such as an amount of carbon-dioxide and/or smoke content orany other chemical or gas content, to indicate poor, fair or good airquality for animals and/or humans. In one or more embodiments, thesensor that detects air quality may indicate whether a fire is occurringthat may impact one or more bodies surrounding the location of the fire.In one or more embodiments, the air and water quality sensors or theweather sensors may include a sensor that detects water quality, such asan amount of acidity and/or temperature, to indicate the poor, fair orgood water quality for animals and/or humans, to indicate a pollutionevent, a sea life event and/or a geological event. In at least oneembodiment, the air and water quality sensors or the weather sensors mayinclude weather sensors that detect storms, extreme heat, and variousweather changes to indicate weather alerts.

For example, by way of at least one embodiment, the location sensors mayinclude an altitude sensor, such as on a plane or car or any piece ofequipment, to indicate a crash or forecast of a forthcoming crash. Inone or more embodiments, the altitude sensor and other location sensorsmay indicate a combination of data or values obtained from one or moreusers, such as flight passengers, hikers, or any other users in one ormore locations.

For example, by way of at least one embodiment, the motion sensors mayinclude an accelerometer that detects a mass of users and/or pieces ofequipment moving at a fast rate that may indicate a type of activity orevent, such as a marathon, sports competition, and may indicate a lifethreatening or alerting event causing the mass of users and/or pieces ofequipment to all move at away from a particular location. In one or moreembodiments, the motion sensors may include an impact sensor thatdetects a collision or a plurality of collisions that indicate anaccident or event, such as a collision between users, cars or pieces ofequipment, and may indicate a sports event collision, such as footballtackle, or all or specific types of tackles on a particular day or of aparticular activity or event.

For example, by way of at least one embodiment, the biological sensorsmay include a heart rate sensor that detects an elevation in heart ratefrom a user or a plurality of users that may indicate an occurrence ofan event, competition, race or activity, such as during an excitingevent or a scary event. In one or more embodiments, the biologicalsensors may include a brain wave sensor that detects, tracks andcombines content from at least one user with similar brain activity,similar personalities, similar mind set, similar train of thought,similar emotions, or any combination thereof.

In one or more embodiments, sensor or video data may be collected overlong periods of time, where only certain portions of those time periodscontain interesting activities. One or more embodiments may thereforereceive signatures of activities of interest, and use these signaturesto filter the sensor and video data to focus on those activities ofinterest. For example, in one or more embodiments, a set of highlightframes may be selected from a video that show specifically theactivities of interest. FIG. 33 illustrates an example of an embodimentthat generates highlight frames using sensor data to locate activitiesof interest. A snowboard has an attached sensor 4102, which includes anaccelerometer. In addition video camera 4101 captures video of thesnowboarder. In one or more embodiments, the video camera 4101 may beattached to the user, and the camera may include the sensor 4102. Theembodiment obtains signature 4120 for activities of interest. In thisillustrative example, one activity of interest is a jump at high speed.The signature for a jump is that the magnitude of the acceleration dropsbelow g/2, indicating that the snowboard is in free fall, and that themagnitude of the velocity is above 50 mph. Acceleration magnitude 4110received from sensor 4102 is compared to the acceleration thresholdvalue over time. The accelerometer is integrated (along with data fromother inertial sensors such as a gyro) to form velocity data 4111. Theacceleration magnitude drops below the threshold at frame 4103, at 4112,because the snowboarder makes a small jump; however the velocity at thattime is not sufficiently fast to match the activity signature 4120. Theacceleration magnitude drops again below the threshold at timecorresponding to video frame 4104; at this time the velocity alsoexceeds the required threshold, so the data matches the activitysignature 4120. Three highlight video frames 4130 are selected to showthe jump activity that was detected by comparing the acceleration motionmetric to the threshold. One or more embodiments may select highlightframes during an activity of interest that include all of the framescaptured during the activity time period. One or more embodiments mayadd additional frames to the highlight frames that are before or afterthe activity time period. One or more embodiments may sample onlyselected frames during the activity time period, for example to generatea small set of highlight images rather than a complete video. In theexample illustrated in FIG. 33, the speed of the snowboard is displayedwith or overlaid with graphic overlay 4135 onto the highlight frames;this speed may be calculated for example from the sensor data, from thevideo analysis, or by sensor fusion of both data sources. One or moreembodiments may overlay any desired metrics or graphics onto highlightframes. Highlight frames 4130 with overlays 4135 are then distributedover network 4140 to any set of consumers of the highlight frames. Inone or more embodiments that generate highlight frames, consumers ofhighlight frames may include for example, without limitation: any videoor image viewing device; repositories for video, images, or data; acomputer of any type, such as a server, desktop, laptop, or tablet; anymobile device such as a phone; a social media site; any network; and anemergency service. An example of an embodiment that may send videohighlights to an emergency service is a crash detection system, forexample for a bicycle or a motorcycle. This embodiment may monitor auser using for example an accelerometer to detect a crash, and anonboard camera to capture video continuously. When a crash is detected,information about the location and severity of the crash may be sentdirectly to an emergency service, along with video showing the crash.Any cameras local to the event, whether a highlight event or crash orany other type of event may be queried to determine if they have videofrom that location and time, for example using a field of view thatwould envelope the location of the event for example. The videos thatcover the event, or any other sensors near the event and near the timemay also be queried and sent out to define a group event. Other sensordata, including heart rate and sound or sound levels may also beindicative of an event that is worthy of a highlight or other type ofevent, such as a fail. Members of any group associated with the user maysubscribe to the event or group event and obtain the highlights or failsof the day.

With respect to highlight thresholds, the best events according to oneor more metrics may be tagged, and in addition, the worst events or anyother range of events may be tagged. The tagging of an event mayindicate that the event may indicate that the respective event videos ormotion data is to be associated with a given highlight reel, or failreel. In one or more embodiments, metrics or activity signatures may beutilized to identify epic fails or other fails, for example where a userfails to execute a trick or makes a major mistake. FIG. 33A illustratesan example that is a variation of the snowboarder example of FIG. 33. Asignature for 41A20 a fail is defined as having a high velocity,following shortly by having a very small or zero velocity; thissignature characterizes a crash. At frame 4104 the snowboarder executesa jump, and then hits a tree at frame 41A05. Thus the velocitytransitions quickly from a high speed to zero at 41A13. The epic failframes 41A30 are selected to record the fail. As in FIG. 33, these failframes may be overlaid with metric data 4135. The fail frames may besent to other viewers or repositories 4140, and a message 41A50 may besent to the camera to discard frames other than the selected failframes. One or more embodiments may use multiple signatures foractivities of interest to identify and capture various types ofactivities; for example, an embodiment may simultaneously use ahighlight signature like signature 4120 in FIG. 33 as well as a failsignature like signature 41A20 in FIG. 33A. Any video characteristic ormotion data may be utilized to specify a highlight or fail metric tocreate the respective reel. In one or more embodiments any computer inthe system detecting a particular level of fail may automatically sendout a message for help, for example through wireless communications tocall emergency personnel or through audio or social media post to notifyfriends of a potential medical emergency.

One or more embodiments may generate highlight frames using the abovetechniques, and may then discard non-highlight frames in order toconserve storage space and bandwidth. One or more embodiments may alsosend messages to other systems, such as to the camera that initiallycaptured the video, indicating that only the highlight frames should beretained and that other frames should be discarded. This is illustratedin FIG. 33 with discard message 4150 sent to camera 4101, telling thecamera to discard all frames other than those selected as highlightframes.

In one or more embodiments, sensor data may be collected and combinedwith media obtained from servers to detect and analyze events. The mediamay then be combined with the sensor data and reposted to servers, suchas social media sites, as integrated, media-rich and data-rich recordsof the event. Media from servers may include for example, withoutlimitation, text, audio, images, and video. Sensor data may include forexample, without limitation, motion data, temperature data, altitudedata, heart rate data, or more generally any sensor informationassociated with a user or with a piece of equipment. FIG. 34 illustratesan embodiment of the system that combines sensor data analysis and mediaanalysis for earthquake detection. Detection of earthquakes is anillustrative example; embodiments of the system may use any types ofsensor data and media to detect and analyze any desired events,including for example, without limitation personal events, group events,environmental events, public events, medical events, sports events,entertainment events, political events, crime events, or disasterevents.

In FIG. 34, a user is equipped with three sensors: sensor 12501 is amotion sensor; 12502 is a heart rate sensor; and sensor 12503 is aposition sensor with a clock. These sensors may be held in one physicalpackage or mount or multiple packages or mounts in the same location ona user or in multiple locations. One or more embodiments may use anysensor or any combination of sensors to collect data about one or moreusers or pieces of equipment. Sensors may be standalone devices, or theymay be embedded for example in mobile phones, smart watches, or anyother devices. Sensors may also be near a user and sensor data may beobtained through a network connection associated with one or more of thesensors or computer associated with the user (see FIG. 1A for topologyof sensors and sensor data that the system may obtain locally or overthe network). In the embodiment shown in FIG. 34, sensor 12503 may befor example embedded in a smart watch equipped a GPS. Heart rate data12512 from sensor 12502, acceleration data 12511 from motion sensor12501, and time and location information 12513 from sensor 12503 aresent to computer or mobile device 101 for analysis. Alternatively, themobile device may contain all or any portion of the sensors or obtainany of the sensor data internally or over a network connection. Inaddition, the computer may be collocated with sensor 12502, for examplein a smart watch or mobile phone. Mobile device 101 is illustrative;embodiments may use any computer or collection of computers to receivedata and detect events. These computers may include for example, withoutlimitation, a mobile device, a mobile phone, a smart phone, a smartwatch, a camera, a laptop computer, a notebook computer, a tabletcomputer, a desktop computer, and a server computer.

In the example of FIG. 34 the mobile device 101 is configured to scanfor a set of event types, including but not limited to earthquake eventsfor example. Earthquake event detection includes comparison of sensordata to a sensor earthquake signature 12520, and comparison of mediainformation to a media earthquake signature 12550. Embodiments may useany desired signatures for one or more events. Sensor data signaturesfor events used by one or more embodiments may include for example,without limitation, sensor values exceeding one or more thresholds orfalling into or out of one or more ranges, trends in values exceedingcertain thresholds for rates of change, and combinations of values frommultiple sensors falling into or out of certain multidimensional ranges.In FIG. 34, the rapid increase in heart rate shown in 12512 isindicative of an event, which may be an earthquake for example. Therapid increase in acceleration 12511 is also indicative of anearthquake. Based on these two signatures, device 101 may for exampledetermine that a sensor earthquake signature has been located. In one ormore embodiments, sensor data from multiple users with at least some ofthe sensors may be utilized by any computer such as computer 101 todetermine if the acceleration 12511 is observed by multiple sensors,even if slightly time shifted based on location and time to determinethat an earthquake has potentially occurred.

Computer 101 may also scan media from one or more servers to confirm theevent. Embodiments may obtain media data from any type or types ofservers, including for example, without limitation, an email server, asocial media site, a photo sharing site, a video sharing site, a blog, awiki, a database, a newsgroup, an RSS server, a multimedia repository, adocument repository, a text message server, and a Twitter® server. Inthe example shown in FIG. 34, computer or mobile device 101 scans mediaon two servers: a text message server 12530 that provides a log of textmessages sent and received, and a social media website 12540 that allowsusers to post text and images to their personal home pages. The textmessages on 12530 and postings on 12540 are not necessarily associatedwith the user wearing sensors 12501, 12502, and 12503; embodiments ofthe system may access any servers to obtain media from any sources.Media are compared to media earthquake signature 12550. Embodiments mayuse any desired media signatures for events, including for example,without limitation, frequencies of selected keywords or key phrases intext, rates of media postings or updates on selected servers, appearanceof specific images or videos matching any specified characteristics,urgency of messages sent, patterns in sender and receiver networks formessages, and patterns in poster and viewer networks for social mediasites. In FIG. 34, the media earthquake signature 12550 includesappearance of key works like 12531 “shaking” and 12541 “falling down” inthe text messages and home page, respectively. The media earthquakesignature may also include analysis of photos or videos for images thatare characteristic of an earthquake, such as images of buildings swayingor falling for example. In FIG. 34, image 12542 shows a falling monumentthat is consistent with the media earthquake signature 12550. Keywordsmay be utilized to eliminate false positives for images showing similaritems, for example “movie” in case someone posted an image or video notrelated to a current event for example.

One or more embodiments may generate integrated event records thatcombine sensor data with media describing the event, such as photos,videos, audio, or text commentaries. The media may be obtained forexample from servers such as social media sites, from sensors associatedwith the system such as local cameras, or from combinations thereof. Oneor more embodiments may curate this data, including the media fromsocial media sites, to generate highlights of an event. The curated,integrated event records may combine media and data in any desiredmanner, including for example through overlays of data onto photos orvideos. Integrated event records may contain all or a selected subset ofthe media retrieved from servers, along with all or a selected subset ofthe sensor data, metrics, and analyses of the event. Integrated eventrecords may be reposted to social media sites or broadcast to otherusers.

One or more embodiments may correlate sensor data and media by time,location, or both, as part of event detection and analysis. For example,earthquakes occur at specific points in time and at specific locations;therefore two shaking signatures separated by a 100 day time intervalare likely not related, while events separated by a relatively smalltime interval, e.g., minutes and perhaps within a given predefined rangefor example based on the event type, e.g., miles in this case, are morelikely to indicate a prospective related event. In FIG. 34, sensor 12503provides the time and location 12513 of the user, which may becorrelated with the sensor data 12511 and 12512. This time and locationdata may be used in the searches of servers 12530 and 12540 for mediathat may confirm the event, for example within predefined thresholds fortime and location, and optionally based on event type. One or moreembodiments may group sensor data and media by time and location todetermine if there are correlated clusters of information that representevents at a consistent time and location. The scale for clustering intime and location may depend upon the event. For example, an earthquakemay last several minutes, but it is unlikely to last several weeks. Itmay also cover a wide area, but it is unlikely to have an effect overseveral thousand miles.

In FIG. 34, the text message 12531 and the posting 12541 both occurwithin one minute of the sensor data 12511, 12512, and 12513; therefore,the mobile device 101 correlates the media with the sensor data. Sincethe sensor data match sensor signature 12520 and the media match mediasignature 12550, the mobile device confirms an earthquake event 12560.

The text analysis of text messages and postings in FIG. 34 uses a simplemedia signature for an event based on the appearance of selectedkeywords. One or more embodiments may employ any text processing or textanalysis techniques to determine the extent to which a textualinformation source matches an event signature. One or more embodimentsmay be configured to scan for multiple types of events; in theseembodiments textual analysis may include generating a relative score forvarious event types based on the words located in textual informationsources.

FIG. 35 illustrates an embodiment of the system that uses anevent-keyword weighting table 12620 to determine the most likely eventbased on text analysis. Each keyword is rated for each event of interestto determine an event-keyword weight. In this example the keyword 12621(“Air”) has an event-keyword weight for four possible events: Touchdown,Crash, Earthquake, and Jump. These weights may for example reflect therelative likelihood that messages or texts describing these eventsinclude that keyword. Weights may be determined in any desired manner:they may be based on historical analysis of documents or messages, forexample; they may be configured based on judgment; and they may bedeveloped using machine learning algorithms from training sets. In theexample shown in FIG. 35, event 12601 is observed by several users thatsend tweets about the event; these tweets are available on server 12610.The system scans these tweets (potentially using event times andlocations as well to limit the search) and identifies three messagescontaining keywords. For example, the first message 12611 contains thekeyword 12621 from table 12620. The weights of the keywords for eachevent are added, generating event scores 12630. In this example the“Jump” event has the highest score, so the system determines that thisis the most likely event. One or more embodiments may use scoring orweighting techniques to assess probabilities that various events haveoccurred, and may use probability thresholds to confirm events. One ormore embodiments may use Bayesian techniques, for example, to updateevent probabilities based on additional information from other mediaservers or from sensor data. In addition, the sensor or computerassociated with the computer that detects a potential event maybroadcast to nearby cameras and/or computers for any related video forexample during the duration of the event, including any pre-event orpost-event window of time. Users that are on a ski lift for examplegenerating video of the epic fail, may thus receive a message requestingany video near the location and time of the event. Direction of thecamera or field of view may be utilized to filter event videos from thevarious other users at the computer or at the other user's computers.Thus, the event videos may be automatically curated or otherwisetransferred and obtained without the non-event video outside of the timewindow of the event. In addition, the video may be trimmed automaticallyon the various computers in the system in real-time in post processingto discard non-event related video. In one or more embodiments, thecomputer may query the user with the event videos and requestinstructions to discard the remaining non-event video. The event videosmay be transferred much more efficiently without the non-event videodata and the transfer times and storage requirements maybe 2 to 3 ordersof magnitude lower in many cases.

One or more embodiments of the system may use a multi-stage eventdetection methodology that first determines that a prospective event hasoccurred, and then analyzes additional sensor data or media data todetermine if the prospective event was a valid event or a false positiveevent. FIG. 36 illustrates an example of a multi-stage event detectionsystem. For illustration, a falling anvil is equipped with an altitudesensor 12701, and a rabbit is also equipped with an altitude sensor12702. The system receives sensor data samples from 12701 and 12702 andcombines them to form graph 12710. In one or more embodiments additionalprocessing may be desired to synchronize the clocks of the two sensors12701 and 12702; (see FIG. 1E for examples of time synchronization thatthe system may utilize). Analysis 12710 of the relative altitudepredicts a prospective collision event 12720 at time 12711 when thealtitudes of the two objects coincide. However, this analysis only takesinto account the vertical dimension measured by the altitude sensor; fora collision to occur the objects must be at the same three-dimensionalcoordinates at the same time. FIG. 36 illustrates two examples of usingadditional information to determine if prospective event 12720 is avalid event or a false positive. One technique used by one or moreembodiments is to review media information from one or more servers toconfirm or invalidate the prospective event. For example, the system mayperform a search 12730 to locate objects 12731 and 12732 in media onavailable servers, such as the server 12740 that contains videos sharedby users. For example, the shape, size, color, or other visualcharacteristics of the objects 12731 and 12732 may be known when thesensors 12701 and 12702 are installed. In this example, video 12741 islocated that contains the objects, and analysis of the frames shows thata collision did not occur; thus the system can determine that the eventwas a false positive 12750. One or more embodiments may use any criteriato search servers for media that may confirm or invalidate a prospectiveevent, and may analyze these media using any techniques such as forexample image analysis, text analysis, or pattern recognition. The lowerright of FIG. 36 illustrates another example that uses additional sensorinformation to differentiate between a prospective event and a validevent. In this example the anvil and the rabbit are equipped withhorizontal accelerometers 12761 and 12762, respectively. Usingtechniques known in the art, horizontal acceleration is integrated toform horizontal positions 12770 of the objects over time. By combiningthe vertical trajectories 12710 and the horizontal trajectories 12770,the system can determine that at time 12711 the horizontal positions ofthe two objects are different; thus the system determines that theprospective event 12720 is a false positive 12780. These examples areillustrative; embodiments may use any combination of additional sensordata and media information to confirm or invalidate a prospective event.For example, media servers may be checked and if there are posts thatdetermine that some collision almost occurred, such as “wow that wasclose”, etc., (see FIG. 35 for a crash scenario with media keyword scorechecking), or did not occur at 12750.

One or more embodiments may use additional sensor data to determine atype of activity that was performed or a type of equipment that was usedwhen sensor data was captured. FIG. 37 illustrates an example of a userthat may use a motion sensor for either snowboarding or surfing. Motionsensor 12501 a is attached to snowboard 12810, and motion sensor 12501 bis attached to surfboard 12820. The motion sensors may for exampleinclude an accelerometer, a rate gyroscope, and potentially othersensors to detect motion, position or orientation. In one or moreembodiments the devices 12501 a and 12501 b may be identical, and theuser may be able to install this device on either a snowboard or asurfboard. Based on the motion sensor data, the speed of the user overtime is calculated by the system. The speed chart 12811 for snowboardingand the speed chart 12821 for surfing are similar; therefore it may bedifficult or impossible to determine from the motion data alone whichactivity is associated with the data. In this example, sensors 12501 aand 12501 b also include a temperature sensor and an altitude sensor.The snowboarding activity generates temperature and altitude data 12812;the surfing activity generates temperature and altitude data 12822. Thesystem is configured with typical signatures 12830 for temperature andaltitude for surfing and snowboarding. In this illustrative example, thetypical temperature ranges and altitude ranges for the two activities donot overlap; thus it is straightforward to determine the activity andthe type of equipment using the temperature and altitude data. The lowtemperature and high altitude 12812 combined with the signatures 12830indicate activity and equipment 12813 for snowboarding the hightemperature and low altitude 12822 combined with the signatures 12830indicate activity and equipment 12823 for surfing. One or moreembodiments may use any additional sensor data, not limited totemperature and altitude, to determine a type of activity, a type ofequipment, or both.

One or more embodiments of the system may collect data from multiplesensors attached to multiple users or to multiple pieces of equipment,and analyze this data to detect events involving these multiple users ormultiple pieces of equipment. FIG. 38 illustrates an example withsensors attached to people in an audience. Several, but not necessarilyall, of the members of the audience have sensors that in this examplemeasure motion, time, and location. These sensors may for example beembedded in mobile devices carried or worn by these users, such as smartphones or smart watches. As shown, at least 4 users have sensors 22901 a(22901 b), 22902, 22903, and 22904 a (22904 b). The system collectsmotion data and determines the vertical velocity (v_(z)) of each userover time, for example 22911, 22912, and 22913. While the users areseated, the vertical velocity is effectively zero or very small; whenthey stand, the vertical velocity increases, and then decreases back tozero. In this illustrative example, the system monitors the sensor datafor this signature of a user standing, and determines the time at whichthe standing motion completes. For example, the times for the completionof standing for the users with sensors 22901 a, 22902, and 22903 are22921, 22922, and 22923, respectively. The system also monitors thelocation data 22931, 22932, and 22933 from the sensors 22901 a, 22902,and 22903, respectively. Location data shown here is encoded as latitudeand longitude; one or more embodiments may use any method fordetermining and representing partial or complete location dataassociated with any sensor.

The illustrative system shown in FIG. 38 is configured to detect astanding ovation event from the audience. The signature of this event isthat a critical number of users in the same audience stand up atapproximately the same time. This signature is for illustration; one ormore embodiments may use any desired signatures of sensor data to detectone or more events. Because the system may monitor a large number ofsensors, including sensors from users in different locations, one ormore embodiments may correlate sensor data by location and by time todetermine collective events involving multiple users. As shown in FIG.38, one approach to correlating sensor data by time and location is tomonitor for clusters of individual events (from a single sensor) thatare close in both time and location. Chart 22940 shows that theindividual standing events for the three users are clustered in time andin longitude. For illustration we show only the longitude dimension oflocation and use an example where latitudes are identical. One or moreembodiments may use any or all spatial dimensions and time to clustersensor data to detect events. Cluster 22941 of closely spaced individualsensor events contains three users, corresponding to sensors 22901 a,22902, and 22903. The system is configured with a critical threshold22942 of the number of users that must stand approximately at the sametime (and in approximately at the same location) in order to define astanding ovation event. In this example the critical count is three, sothe system declares a standing ovation event and sends a message 22950publishing this event. In addition, other sensors including soundsensors may be utilized to characterize the event as an ovation orbooing. Any other physiological sensors including heart rate sensors mayalso be utilized to determine the qualitative measure of the event, inthis case a highly emotional standing ovation if the heart rates areover a predefined threshold. Furthermore, blog sites, text messages orother social media sites may be checked to see if the event correlateswith the motion sensor, additional sensors such as sound or heart rateor both, to determine whether to publish the event, for example on asocial media website or other Internet site for example (see FIG. 34 foran example of checking a website for corroborating evidence thatembodiments of the system may utilize).

FIG. 38 illustrates an embodiment of the system that detects an eventusing a threshold for the number of individual sensor events occurringwithin a cluster of closely spaced time and location. FIG. 39illustrates an embodiment that detects an event using an aggregatemetric across sensors rather than comparing a count to threshold value.In this embodiment, a potentially large number of users are equippedwith motion and position sensors such as sensor 13001 a, 13001 b worn bya user, and smart phone 13002 a, 13002 b carried by a user. Each sensorprovides a data feed including the user's latitude, longitude, andspeed. For example, the sensor may include a GPS to track latitude andlongitude, and an inertial sensor that may be used to determine theuser's speed. In this illustrative system, sensors are partitioned intolocal areas based on the user's current latitude and longitude, and theaverage speed 13010 of users in each local area is calculated andmonitored. When the system detects an abrupt increase 13020 in theaverage speed of users in an area, it determines that a “major incident”13030 has occurred at that local area, for example at 123 Elm St. Thisevent may be published for example as an email message, a text message,a broadcast message to users in the vicinity, a tweet, a posting on asocial media site, or an alert to an emergency service. In this examplethe sensor data is not sufficient to characterize the event precisely;for example, instead of a fire as shown in FIG. 39, other events thatmight cause users to start moving rapidly might be an earthquake, or aterrorist attack. However, the information that some major incident hasoccurred at this location may be of significant use to manyorganizations and users, such as first responders. Moreover, embodimentsof the system may be able to detect such events instantaneously bymonitoring sensor values continuously. The average speed metric used inFIG. 39 is for illustration; one or more embodiments may calculate anydesired aggregate metrics from multiple sensor data feeds, and may usethese metrics in any desired manner to detect and characterize events.One or more embodiments may combine the techniques illustrated in FIGS.38 and 39 in any desired manner; for example, one or more embodimentsmay analyze individual sensor data to determine individual events,cluster the number of individual events by time and location, and thencalculate an aggregate metric for each cluster to determine if anoverall event has occurred. One or more embodiments may assign differentweights to individual events based on their sensor data for example, anduse weighted sums rather than raw counts compared to threshold values todetect events. Any method of combining sensor data from multiple sensorsto detect events is in keeping with the spirit of the invention. Asshown, with users travelling away from a given location, the locationmay be determined and any associated sound or atmospheric sensors suchas CO2 sensors located near the location may be utilized to confirm theevent as a fire. Automatic emergency messages may be sent by computer13002 a, which may also broadcast for any pictures or video around thelocation and time that the event was detected.

Sensor events associated with environmental, physiological and motioncapture sensors may thus be confirmed with text, audio, image or videodata or any combination thereof, including social media posts forexample to detect and confirm events, and curate media or otherwisestore concise event videos or other media in real-time or nearreal-time. For example, one or more embodiments may access social mediasites to retrieve all photos and videos associated with an event,potentially by matching time and location data in the photos and videoto sensor data timestamps and location stamps. The retrieved media maythen be curated or organized to generate integrated event records thatinclude all or a selected subset of the media. In addition, social mediasites may utilize embodiments of the invention to later confirm eventsusing environmental, physiological and motion capture sensors accordingto one or more embodiments of the invention, for example by filteringevents based on time or location or both in combination with embodimentsof the invention. Ranking and reputation of posts or other media mayalso be utilized to filter or publish events in combination with one ormore embodiments of the invention. Multiple sources of information forexample associated with different users or pieces of equipment may beutilized to detect or confirm the event. In one or more embodiments, anevent may be detected when no motion is detected and other sensor dataindicates a potential event, for example when a child is in a hot carand no movement is detected with a motion sensor coupled with the child.Events may also be prioritized so that if multiple events are detected,the highest priority event may be processed or otherwise published ortransmitted first.

In one or more embodiments the event analysis and tagging system mayanalyze sensor data to automatically generate or select one or more tagsfor an event. Event tags may for example group events into categoriesbased on the type of activity involved in the event. For example,analysis of football events may categorize a play as a running play, apassing play, or a kicking play. For activities that occur in multiplestages (such as the four downs of a football possession, or the threeouts of a baseball inning), tags may indicate the stage or stages atwhich the event occurs. For example, a football play could be tagged asoccurring on third down in the fourth quarter. Tags may identify ascenario or context for an activity or event. For example, the contextfor a football play may include the yards remaining for first down; thusa play tag might indicate that it is a third down play with four yardsto go (3^(rd) and 4). Tags may identify one or more players associatedwith an event; they may also identify the role of each player in theevent. Tags may identify the time or location an event. For example,tags for a football play may indicate the yard line the play startsfrom, and the clock time remaining in the game or quarter when the playbegins. Tags may measure a performance level associated with an event,or success or failure of an activity. For example, a tag associated witha passing play in football may indicate a complete pass, incomplete, oran interception. Tags may indicate a result such as a score or ameasurable advancement or setback. For example, a football play resulttag might indicate the number of yards gained or lost, and the pointsscored (if any). Tags may be either qualitative or quantitative; theymay have categorical, ordinal, interval, or ratio data. Tags may begeneric or domain specific. A generic tag for example may tag a playermotion with a maximum performance tag to indicate that this is thehighest performance for that player over some time interval (for example“highest jump of the summer”). Domain specific tags may be based on therules and activities of a particular sport. Thus for example result tagsfor a baseball swing might include baseball specific tags such asstrike, ball, hit foul, hit out, or hit safe.

FIG. 40 illustrates an example in which event analysis and taggingsystem 4050 analyzes sensor data for a pitch and the correspondingbaseball swing. Event analysis and tagging is performed for example byany or all of computer 105, mobile device 101, and microprocessor 3270.Microprocessor 3270 may for example be integrated with or communicatewith one or more motion sensors or other sensors, such as for exampleinertial sensor 111 or sensor 4011. The microprocessor 3270 may performevent analysis and tagging, or it may collect sensor data, potentiallyfrom multiple sensors, and forward the data to computer 105 or mobiledevice 101 for analysis and tagging. One or more embodiments may performevent analysis and tagging in multiple stages. For example,microprocessor 3270 may generate a set of tags for an event, and forwardthese tags with event data to computer 105 or mobile device 101;computer 105 or mobile device 101 may then perform additional analysisand add additional tags. Sensors may include for example inertial sensor111; sensor 4011, which may for example measure values associated with atemperature, humidity, wind, elevation, light, sound, or heart rate;video camera 103; radar 4071; and light gate 4072. The analysis system4050 detects the swing, and then analyzes the sensor data to determinewhat tags to associate with the swing event. Tags 4003 identify forexample the type of event (an at bat), the player making the swing(Casey), a classification for the type of pitch (curve ball, asdetermined from analysis of the shape of the ball trajectory), theresult of the swing (a hit, as detected by observing the contact 4061between the bat 4062 and the ball 4063), and a timestamp for the event(9^(th) inning). These tags are illustrative; one or more embodimentsmay generate any tag or tags for any activity or event. The system maystore the event tags 4003 in an event database 172. Additionalinformation 4002 for the event may also be stored in the event database,such as for example metrics, sensor data, trajectories, or video.

The event analysis and tagging system 4050 may also scan or analyzemedia from one or more servers or information sources to determine,confirm, or modify event tags 4003. Embodiments may obtain media datafrom any type or types of servers or information sources, including forexample, without limitation, an email server, a social media site, aphoto sharing site, a video sharing site, a blog, a wiki, a database, anewsgroup, an RSS server, a multimedia repository, a documentrepository, a text message server, and a Twitter® server. Media mayinclude for example text, audio, images, or videos related to the event.For example, information on social media servers 4005 may be retrieved4006 over the Internet or otherwise, and analyzed to determine, confirm,or modify event tags 4003. Events stored in the event database may alsobe published 4007 to social media sites 4005, or to any other servers orinformation systems. One or more embodiments may publish any or all dataassociated with an event, including for example metrics, sensor data,trajectories, and video 4002, and event tags 4003.

One or more embodiments may provide capabilities for users to retrieveor filter events based on the event tags generated by the analysissystem. FIG. 41 shows an illustrative user interface 4100 that mayaccess event database 172. A table of events 4101 may be shown, and itmay provide options for querying or filtering based on event tags. Forexample, filters 4102 and 4103 are applied to select events associatedwith player “Casey” and event type “at bat.” One or more embodiments mayprovide any type of event filtering, querying, or reporting. In FIG. 41the user selects row 4104 to see details of this event. The userinterface then displays the tags 4003 that were generated automaticallyby the system for this event. A manual tagging interface 4110 isprovided to allow the user to add additional tags or to edit the tagsgenerated by the system. For example, the user may select a tag name4111 to define a scoring result associated with this event, presumingfor example that the automatic analysis of sensor data is not able inthis case to determine what the scoring result was. The user can thenmanually select or enter the scoring result 4112. The manually selectedtags may then be added to the event record for this event in the eventdatabase 172 when the user hits the Add button 4113 for the new tag ortags. The user interface may show other information associated with theselected event 4104, such as for example metrics 4002 a and video 4120.It may provide a video playback feature with controls 4121, which mayfor example provide options such as 4122 to overlay a trajectory 4123 ofa projectile or other object onto the video. One or more embodiments mayprovide a feature to generate a highlight reel for one or more eventsthat correspond to selected event tags. For example, when a user pressesthe Create Highlight Reel button 4130, the system may retrieve video andrelated information for all of the events 4101 matching the currentfilters, and concatenate the video for all of these events into a singlehighlight video. In one or more embodiments the highlight reel may beautomatically edited to show only the periods of time with the mostimportant actions. In one or more embodiments the highlight reel maycontain overlays showing the tags, metrics, or trajectories associatedwith the event. One or more embodiments may provide options for thegeneration or editing of the highlight reel; for example, users may havethe option to order the events in the highlight reel chronologically, orby other tags or metrics. The highlight reel may be stored in eventdatabase 172, and may be published to social media sites 4005.

FIG. 42 illustrates an embodiment that analyzes social media postings toaugment tags for an event. Data from sensors such as inertial sensor111, other sensor 4011, and video camera 103 is analyzed 4201 by theevent analysis and tagging system 4050, resulting in initial event tags4003 a. In this illustrative example, the sensors 111, 4011, and 103 areable to detect that the player hit the ball, but are not able todetermine the result of the hit. Therefore, event tags 4003 a do notcontain a “Swing Result” tag since the sensor data is insufficient tocreate this tag. (This example is illustrative; in one or moreembodiments sensor data may be sufficient to determine a swing result orany other information.) The event analysis and tagging system 4050accesses social media sites 4005 and analyzes postings 4203 related tothe event. For example, the system may use the time and location of theevent to filter social media postings from users near that location whoposted near the time of the event. In this example, the system searchestext postings for specific keywords 4204 to determine the result of theevent. Although the sensors or video may be utilized to indicate that ahit has occurred, social media may be analyzed to determine what type ofhit, i.e., event has actually occurred. For example, based on this textanalysis 4202, the system determines that the result 4205 is a likelyhome run; therefore it adds tag 4206 to the event tags with this result.The augmented event tags 4003 b may then be stored in the event databaseand published to social media sites. The keyword search shown in FIG. 42is illustrative; one or more embodiments may use any method to analyzetext or other media to determine, confirm, or modify event tags. Forexample, without limitation, one or more embodiments may use naturallanguage processing, pattern matching, Bayesian networks, machinelearning, neural networks, or topic models to analyze text or any otherinformation. Embodiments of the system yield increased accuracy forevent detection not possible or difficult to determine based on sensoror video data in general. Events may be published onto a social mediasite or saved in a database for later analysis, along with any eventtags for example.

One or more embodiments may save or transfer or otherwise publish only aportion of a video capture, and discard the remaining frames. FIG. 43illustrates an embodiment with video camera 103 that captures videoframes 4301. The video contains frames 4310 a, 4310 b, and 4310 crelated to an event of interest, which in this example is a hitperformed by batter 4351. The bat is equipped with an inertial sensor111, and there may be an additional sensor 4011 that may measure forexample temperature, humidity, wind, elevation, light, sound, or heartrate. Data from sensors 111 and 4011 is analyzed by event analysis andtagging system 4050 to determine the time interval of interest for thehit event. This analysis indicates that only the video frames 4310 a,4310 b, and 4310 c are of interest, and that other frames such as frame4311 should be discarded 4302. The system generates event tags 4003 andsaves the tags and the selected video frames 4303 in event database 172.This information, including the selected video frames, may be publishedfor example to social media sites 4005, e.g., without transferring thenon-event data. The discard operation 4302 may for example erase thediscarded frames from memory, or may command camera 103 to erase theseframes. One or more embodiments may use any information to determinewhat portion of a video capture to keep and what portion to discard,including information from other sensors and information from socialmedia sites or other servers.

It will be apparent to those skilled in the art that numerousmodifications and variations of the described examples and embodimentsare possible in light of the above teaching. The disclosed examples andembodiments are presented for purposes of illustration only. Otheralternate embodiments may include some or all of the features disclosedherein. Therefore, it is the intent to cover all such modifications andalternate embodiments as may come within the true scope of thisinvention.

What is claimed is:
 1. A multi-sensor event detection and tagging systemcomprising: at least one motion capture element configured to couplewith a user or piece of equipment or mobile device coupled with theuser, wherein said at least one motion capture element comprises asensor data memory; a sensor configured to capture one or more valuesassociated with an orientation, position, velocity, acceleration,angular velocity, and angular acceleration of said at least one motioncapture element; a first communication interface configured to receiveone or more other values associated with an environmental sensor, aphysiological sensor or both said environmental sensor and saidphysiological sensor or at least one other sensor configured to locallycapture said one or more other values associated with said environmentalsensor, said physiological sensor or both said environmental sensor andsaid physiological sensor or both said first communication interface andsaid at least one other sensor; and, a microprocessor coupled with saidsensor data memory, said sensor and said first communication interface,wherein said microprocessor is configured to collect data that comprisessensor values that include said one or more values from said sensor;store said data in said sensor data memory or analyze said data andrecognize an event within said data to determine event data or storesaid data in said sensor data memory and analyze said data and recognizesaid event within said data to determine said event data; and, transmitsaid data or said event data or both said data and said event data andtransmit said one or more other values associated with saidenvironmental sensor, said physiological sensor or both saidenvironmental sensor and said physiological sensor to a computer, saidcomputer comprising a computer memory; and, a second communicationinterface configured to communicate with said first communicationinterface to obtain  said data or said event data associated with saidevent or both said data and said event data  and  said one or more othervalues associated with said environmental sensor, said physiologicalsensor or both said environmental sensor and said physiological sensor;wherein said computer is coupled with said computer memory and iscoupled with said second communication interface; wherein saidmicroprocessor or said computer is configured to correlate said data orsaid event data with said one or more other values associated with saidenvironmental sensor, said physiological sensor or both saidenvironmental sensor and said physiological sensor to differentiate afirst type of event with respect to a second type of event or a firsttype of activity with respect to a second type of activity or a firsttype of equipment with respect to a second type of equipment todetermine at least one of a type of event or true event or a falsepositive event selected from a plurality of types of events or a type ofequipment that said at least one motion capture element is coupled withselected from a plurality of types of equipment or a type of activityindicated by said data or said event data selected from a plurality oftypes of activities or one or more tags for said event.
 2. The system ofclaim 1, wherein said one or more tags represent one or more of anactivity type of said event; a location of said event; a timestamp ofsaid event; a stage of an activity associated with said event; a playeridentity associated with said event; a performance level associated withsaid event; and, a scoring result associated with said event.
 3. Thesystem of claim 1 wherein said microprocessor is further configured toanalyze one or more of text, audio, image, and video from a server todetermine said one or more tags for said event.
 4. The system of claim3, wherein said server comprises one or more of an email server, asocial media site, a photo sharing site, a video sharing site, a blog, awiki, a database, a newsgroup, an RSS server, a multimedia repository, adocument repository, and a text message server.
 5. The event analysisand tagging system of claim 3, wherein said analyze one or more of text,audio, image, and video comprises search said text for key words or keyphrases related to said event.
 6. The system of claim 3, wherein saidmicroprocessor is further configured to analyze said one or more oftext, audio, image, and video from a server to confirm said event for aparticular location and time to create a confirmed event.
 7. The systemof claim 1 wherein said microprocessor is further configured torecognize a location of said sensor on said piece of equipment or saiduser based on said data or said event data.
 8. The system of claim 1wherein said microprocessor is further configured to collect said sensorvalues from said sensor based on a sensor personality selected from aplurality of sensor personalities, wherein the sensor personality isconfigured to control sensor settings to collect the data in an optimalmanner with respect to a specific type of movement or said type ofactivity associated with a specific piece of equipment or type ofclothing.
 9. The system of claim 1, wherein said microprocessor isfurther configured to determine said false positive event as detect afirst value from said sensor values having a first threshold value anddetect a second value from said sensor values having a second thresholdvalue within a time window; signify a prospective event; compare saidprospective event to a characteristic signal associated with a typicalevent and eliminate any false positive events; and, signify said trueevent if said prospective event is not said false positive event. 10.The system of claim 1, wherein said microprocessor is further configuredto recognize said at least one motion capture element with newlyassigned locations after said at least one motion capture element isremoved from said piece of equipment and coupled with a second piece ofequipment of a different type based on said data or event data.
 11. Thesystem of claim 1 wherein said at least one motion capture element iscontained within one or more of a motion capture element mount, saidmobile device, a mobile phone, a smart phone, a smart watch, a camera, alaptop computer, a notebook computer, a tablet computer, a desktopcomputer, and a server computer, or any combination of any number ofsaid motion capture element mount, said mobile device, said mobilephone, said smart phone, said smart watch, said camera, said laptopcomputer, said notebook computer, said tablet computer, said desktopcomputer and said server computer.
 12. The system of claim 1 whereinsaid microprocessor is further configured to transmit said at least oneof said data, said event data, said type of event, said true event, saidfalse positive event, said type of equipment, said type of activity, andsaid one or more tags for said event to one or more of a repository, aviewer, a server, another computer, a social media site, said mobiledevice, a network, and an emergency service.
 13. The system of claim 1wherein said computer is configured to receive said data from saidsecond communication interface and analyze said data and recognize saidevent within said data to determine event data, or said event data fromsaid second communication interface, or both said data and said eventdata from said second communication interface; receive said data fromsaid second communication interface and analyze said data to determinesaid one or more tags for said event, or said one or more tags for saidevent from said second communication interface; analyze said event datato form motion analysis data; store said event data, or said motionanalysis data, or both said event data and said motion analysis data insaid computer memory; store said one or more tags for said event in saidcomputer memory; obtain an event start time and an event stop time fromsaid event data or from said motion analysis data; obtain at least onevideo start time and at least one video stop time associated with atleast one video; synchronize said event data, said motion analysis dataor any combination thereof with said at least one video based on a firsttime associated with said data or said event data obtained from said atleast one motion capture element coupled with said user or said piece ofequipment or said mobile device coupled with the user and at least onetime associated with said at least one video to create at least onesynchronized event video; and, store said at least one synchronizedevent video in said computer memory without at least a portion of saidat least one video outside of said event start time to said event stoptime.
 14. The system of claim 13 wherein said computer further comprisesat least one processor in one or more of said mobile device, a mobilephone, a smart phone, a smart watch, a camera, a laptop computer, anotebook computer, a tablet computer, a desktop computer, and a servercomputer, or any combination of any number of said mobile device, saidmobile phone, said smart phone, said smart watch, said camera, saidlaptop computer, said notebook computer, said tablet computer, saiddesktop computer and said server computer.
 15. The system of claim 14wherein said computer is further configured to display both of saidevent data, said motion analysis data or any combination thereof thatoccurs during a timespan from said event start time to said event stoptime; and, said at least one synchronized event video.
 16. The system ofclaim 14 wherein said computer is further configured to discard orinstruct another computer to discard or instruct said camera to discardsaid at least a portion of said at least one video outside of said eventstart time to said event stop time.
 17. The system of claim 14 whereinsaid camera comprises at least one camera and said computer is furtherconfigured to send a control message locally to said at least one cameracoupled with said computer or externally to said at least one camera, tomodify video recording parameters of said at least one video associatedwith said at least one camera based on said data or said event data orsaid motion analysis data; wherein said video recording parameterscomprise one or more of frame rate, resolution, color depth, color orgrayscale, compression method, compression quality, and recording on oroff.
 18. The system of claim 14 wherein said computer is furtherconfigured to transmit one or more of said one or more tags for saidevent, said event or said type of event, and said true event to one ormore of a repository, a viewer, a server, another computer, a socialmedia site, said mobile device, a network, and an emergency service. 19.The system of claim 14 wherein said computer is further configured toaccept a metric or one or more tags associated with said at least onesynchronized event video; accept selection criteria for said metric orsaid one or more tags; determine a matching set of synchronized eventvideos that have a value or values associated with said metric or withsaid one or more tags that pass said selection criteria; and, displaysaid matching set of synchronized event videos or correspondingthumbnails thereof along with said value or values associated with saidmetric or said one or more tags for each of said matching set ofsynchronized event videos or said corresponding thumbnails.
 20. Thesystem of claim 14 wherein said computer is further configured to acceptone or more user selected tags for said event; and, store said one ormore user selected tags for said event in said computer memory.
 21. Thesystem of claim 19 wherein said computer is further configured togenerate a highlight reel or fail reel of said matching set ofsynchronized event videos.
 22. The system of claim 14, wherein saidsensor or said computer comprises a microphone that records audiosignals; and, said recognize said event comprises a determination of aprospective event based on said data; and, a correlation of said datawith said audio signals to determine if said prospective event is saidtrue event or said false positive event.
 23. The system of claim 22,wherein said computer is further configured to store said audio signalsin said computer memory with said at least one synchronized event videoif said prospective event is said true event.
 24. The system of claim22, wherein said computer is further configured to synchronize saidmotion analysis data with said at least one video based on imageanalysis to more accurately determine a start event frame or stop eventframe in said at least one video or both said start event frame and saidstop event frame, that is most closely associated with said event starttime or said event stop time or both said start event frame and saidstop event frame.
 25. The system of claim 14 wherein said computer isfurther configured to access previously stored event data or motionanalysis data associated with said user or piece of equipment; and,display information comprising a presentation of said event dataassociated with said user on a display based on said event data ormotion analysis data associated with said user or piece of equipment;and, said previously stored event data or motion analysis dataassociated with said user or piece of equipment.
 26. The system of claim14 wherein said computer is further configured to access previouslystored event data or motion analysis data associated with at least oneother user or at least one other piece of equipment; and, displayinformation comprising a presentation of said event data associated withsaid user on a display based on said event data or motion analysis dataassociated with said user or piece of equipment; and, said previouslystored event data or motion analysis data associated with said at leastone other user or said at least one other piece of equipment.
 27. Thesystem of claim 14 wherein said microprocessor in said at least onemotion capture element is further configured to transmit said event or adetection of said event to at least one other motion capture element orsaid computer or at least one other mobile device or any combinationthereof, and wherein said at least one other motion capture element orsaid computer or said at least one other mobile device or anycombination thereof is configured to save data or transmit data or bothsave data and transmit data associated with said event even if said atleast one other motion capture element has not detected said event. 28.The system of claim 14 wherein said computer is further configured torequest or broadcast a request for cameras having locations proximal tosaid event or oriented to view said event or both having locationsproximal to and oriented to view said event; and, request said at leastone video from said at least one camera of said cameras, wherein said atleast one video contains said event without said at least a portion ofsaid at least one video outside of said event start time to said eventstop time.
 29. The system of claim 14 wherein said computer is furtherconfigured to confirm said event for a particular location and time byanalyzing one or more of text, audio, image, and video from a server tocreate a confirmed event.
 30. The system of claim 14 wherein saidcomputer is further configured to determine said one or more tags forsaid event by analyzing one or more of text, audio, image, and videofrom a server.